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

解決方法:
1.確認(rèn)需要的所有Icon尺寸都已添加,在IOS11中需要提交1024×1024的尺寸。不然蘋果會(huì)發(fā)郵件給你的,可能會(huì)不通過(guò)。
2.如果驗(yàn)證提示這個(gè)錯(cuò)誤,并且在模擬器中安裝APP也不顯示Icon的話。那你很可能遇到了跟我一樣的問題。XCode9和CocoaPods的兼容問題。
如果是這個(gè)問題,解決如下:
1.更新到最新的CocoaPods。(但我更新了還是沒有效果)
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ù)資料,找到了以上兩種解決方案。