一些用户在使用 cocoapods 和 ios 11 时发现应用图标问题。尝试将以下代码添加到 Podfile:
post_install do |installer|
copy_pods_resources_path = "Pods/Target Support Files/Pods-IconTest/Pods-IconTest-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
有关此临时解决方案检查的更多说明:
https://github.com/CocoaPods/CocoaPods/issues/7003
感谢 khomTima(https://github.com/khomTima)
如果你不使用 cocoapods,你可以尝试苹果开发者论坛中 vladimirdanila 解释的解决方案。
您需要最新版本的 Sierra,然后归档您的应用。之后使用右键单击并在 Finder 中显示,然后打开包内容并在其中打开此文件:/Products/Application/yourApp.app/info.plist
您必须在其中将所有 DTXXX 值更改为与最新版本的 Xcode 8 中的相同。
DTXcode - “0833”
DTSDKName - “iphoneos10.3"
DTSDKBuild - “14E8301”
DTPlatformName - “iphoneos”
DTCompiler - “com.apple.compilers.llvm.clang.1_0”
DTXcodeBuild - “8E3004b”
DTPlatformVersion - “10.3”
DTPlatformBuild - “14E8301"
保存 plist 文件并返回到 xcode,您需要将存档导出到 App Store。
最后但同样重要的是,从 Apple 下载 Application Loader 3.0 并上传刚刚生成的 IPA 文件。
https://itunesconnect.apple.com/apploader/ApplicationLoader_3.0.dmg
感谢 vladimirdanila(https://forums.developer.apple.com/people/vladimirdanila)