前言:
隨著iOS11首個開發(fā)者預覽版iOS11 Beta1的發(fā)布,關于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:因為設置圖標的方法除了在images.xcassest中的AppIcon文件中設置還可以在info.plist設置、或者直接在工程里面放一個icon.png的圖片來設
置,所以都檢查了一便發(fā)現(xiàn)也不是這個原因(✘)
3:重置手機。(✘)
解決:
google了下發(fā)現(xiàn)好多國外的開發(fā)遇到這個問題,并且都是使用xcode9.X.X版本,所以懷疑是蘋果的BUG
不過這個問題并不是誰都會出現(xiàn)也不是所有使用xcode9 + iOS11的設備都會出現(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
像這樣:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。
新聞熱點
疑難解答