升級到 Xcode 9之后,同學們會發(fā)現(xiàn)更新 cocoapods 庫之后再運行App應用圖標展示不出來了。經(jīng)過一番調(diào)研,最終問題指向了 (加入你的項目名稱是QQMusic, 且 Target 同名):$(PROJECT_DIR)/Target Support Files/Pods-QQMusic/Pods-QQMusic-resources.sh 。
目前解決方案有兩種:
1、打開該 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}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"
fi
2、在podfile文件中添加以下腳本:
post_install do |installer_representation|
# 解決 cocoapods 每次更新庫之后圖標不展示問題
copy_pods_resources_path = "Pods/Target Support Files/Pods-SuYun/Pods-SuYun-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)
end