XCode9中在提交ipa包到APP? Store的驗證階段提示了這個錯誤
解決方法:
1.確認需要的所有Icon尺寸都已添加澡腾,在IOS11中需要提交1024×1024的尺寸。不然蘋果會發(fā)郵件給你的较曼,可能會不通過磷斧。
2.如果驗證提示這個錯誤,并且在模擬器中安裝APP也不顯示Icon的話捷犹。那你很可能遇到了跟我一樣的問題弛饭。XCode9和CocoaPods的兼容問題。
如果是這個問題萍歉,解決如下:
1.更新到最新的CocoaPods侣颂。(但我更新了還是沒有效果)
2.我最終有效的解決方案,修改CocoaPods里的這個文件
兩種修改方案:
1.自動修改
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) 運行
$pod install
2.手動修改
打開工程目錄下:[工程名]/Pods/Target Support Files/Pods-[工程名]/Pods-[工程名]-resources.sh這個文件,替換最后一段代碼:
修改前:
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
然后重新運行工程即可
以后是我嘗試的解決方案翠桦,希望也能解決你的問題横蜒。
最后胳蛮,在網(wǎng)上有很多說在Info.plist中自己手動添加缺失的Icon可以解決問題销凑。對我的問題還是無效。這應(yīng)該是在早期的IOS版本中的解決方案仅炊,我猜是這樣的斗幼。最后查了無數(shù)資料,找到了以上兩種解決方案抚垄。