詳解在iOS11下app圖標(biāo)變空白的問題解決方法
最近在做項目的時候發(fā)現(xiàn)運行在模擬器上圖標(biāo)丟失,變成了蘋果默認(rèn)的白板圖標(biāo)。因為一開始只在模擬器上出現(xiàn),而且也確認(rèn)沒有人動過圖標(biāo)文件,所以沒有在意,后來慢慢的該問題出現(xiàn)在真機上,一開始是只有iPhone X,然后就是iPhone 8,慢慢的變成不管是模擬器還是真機,所有iOS11 系統(tǒng)的圖標(biāo)都沒有了。接下來影響到的機型和系統(tǒng)越來越多。
嘗試:
1:一開始想到的是可能有人誤改了圖標(biāo)文件,于是刪除了images.xcassest中的AppIcon文件,從新生成→添加圖標(biāo),但是依然未解決。(✘)
2:想到是圖片格式/尺寸的問題,于是所有圖片按照規(guī)定重新生成,但是仍然無濟于事。(✘)
3:因為設(shè)置圖標(biāo)的方法除了在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
像這樣:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
混合棧跳轉(zhuǎn)導(dǎo)致Flutter頁面事件卡死問題解決
這篇文章主要為大家介紹了混合棧跳轉(zhuǎn)導(dǎo)致Flutter頁面事件卡死問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08

