Xcode 9 提交APP Store,提示Missing required icon file.

XCode9中在提交ipa包到APP? Store的驗(yàn)證階段提示了這個(gè)錯(cuò)誤


驗(yàn)證出錯(cuò)

解決方法:

1.確認(rèn)需要的所有Icon尺寸都已添加,在IOS11中需要提交1024×1024的尺寸。不然蘋果會(huì)發(fā)郵件給你的,可能會(huì)不通過(guò)。

2.如果驗(yàn)證提示這個(gè)錯(cuò)誤,并且在模擬器中安裝APP也不顯示Icon的話。那你很可能遇到了跟我一樣的問題。XCode9和CocoaPods的兼容問題。

如果是這個(gè)問題,解決如下:

1.更新到最新的CocoaPods。(但我更新了還是沒有效果)

參考Stack Overflow的解決方法

2.我最終有效的解決方案,修改CocoaPods里的這個(gè)文件

需要修改的文件

兩種修改方案:

1.自動(dòng)修改

1)在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

注意:將工程名替換為自己的工程名

2) 運(yùn)行

$pod install


2.手動(dòng)修改

打開工程目錄下:[工程名]/Pods/Target Support Files/Pods-[工程名]/Pods-[工程名]-resources.sh這個(gè)文件,替換最后一段代碼:

修改前:

printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"

fi

修改后:

printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"

fi

然后重新運(yùn)行工程即可

參考鏈接

以后是我嘗試的解決方案,希望也能解決你的問題。

最后,在網(wǎng)上有很多說(shuō)在Info.plist中自己手動(dòng)添加缺失的Icon可以解決問題。對(duì)我的問題還是無(wú)效。這應(yīng)該是在早期的IOS版本中的解決方案,我猜是這樣的。最后查了無(wú)數(shù)資料,找到了以上兩種解決方案。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容