iOS 11 Xcode 9
If you're using CocoaPods, stop right there!
Problem:
Basically there is some difference in the way Xcode 9 / iOS 11 adds the asset files and some weird meddling that CocoaPods gets up to which result in the icon files not being included.
Fix:
Copy and past this snippet into you podfile (I know...it's ugly):
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
Be sure to change "IconTest" value in the path name on the second line to your project name.
Run 'pod update' and voilà there's ye app icon back.
Source
This fix comes from the Cocoapods team. See thread here:
https://github.com/CocoaPods/CocoaPods/issues/7003
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…