關(guān)于iOS 11下app圖標變空白問題的解決方法
前言:
隨著iOS11首個開發(fā)者預(yù)覽版iOS11 Beta1的發(fā)布,關(guān)于iOS11系統(tǒng)的WWDC都會上蘋果沒有提及的新功能被開發(fā)者挖掘出。
然而最近在做項目的時候發(fā)現(xiàn)運行在模擬器上圖標丟失,變成了蘋果默認的白板圖標。因為一開始只在模擬器上出現(xiàn),而且也確認沒有人動過圖標文件,所以沒有在意,后來慢慢的該問題出現(xiàn)在真機上,一開始是只有iPhone X,然后就是iPhone 8,慢慢的變成不管是模擬器還是真機,所有iOS11 系統(tǒng)的圖標都沒有了。
接下來影響到的機型和系統(tǒng)越來越多。
嘗試:
1:一開始想到的是可能有人誤改了圖標文件,于是刪除了images.xcassest中的AppIcon文件,從新生成→添加圖標,但是依然未解決。(✘)
2:想到是圖片格式/尺寸的問題,于是所有圖片按照規(guī)定重新生成,但是仍然無濟于事。(✘)
3:因為設(shè)置圖標的方法除了在images.xcassest中的AppIcon文件中設(shè)置還可以在info.plist設(shè)置、或者直接在工程里面放一個icon.png的圖片來設(shè)
置,所以都檢查了一便發(fā)現(xiàn)也不是這個原因(✘)
3:重置手機。(✘)
解決:
google了下發(fā)現(xiàn)好多國外的開發(fā)遇到這個問題,并且都是使用xcode9.X.X版本,所以懷疑是蘋果的BUG
不過這個問題并不是誰都會出現(xiàn)也不是所有使用xcode9 + iOS11的設(shè)備都會出現(xiàn)
后來經(jīng)過大家的討論終于有人說這個其實是cocoapods的BUG,暫時并不能通過更新cocoapods更新來解決,因為最新版的cocoapods
也存在這個問題,解決方法如下:
在你的podfile中加入以下代碼就可以了
post_install do |installer| copy_pods_resources_path = "Pods/Target Support Files/Pods-工程名/Pods-工程名-resources.sh" string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"' assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"' text = File.read(copy_pods_resources_path) new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments) File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents } end
像這樣:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
iOS MRC 下 block 循環(huán)引用問題實例講解
本文通過文字說明加代碼的形式給大家介紹了iOS MRC 下 block 循環(huán)引用問題,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-12-12