ios - Xcode:在构建期间使用 Imagemagick 创建 AppIcons
问题描述
我按照本教程在构建阶段根据配置(调试/登台/分发)修改 AppIcons。
我创建了以下运行脚本:
IFS=$'\n'
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
versionNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${PROJECT_DIR}/${INFOPLIST_FILE}")
PATH=${PATH}:/usr/local/bin
function generateIcon () {
BASE_IMAGE_NAME=$1
TARGET_PATH="${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${BASE_IMAGE_NAME}"
echo $TARGET_PATH
#echo $SRCROOT
#echo $(find ${SRCROOT} -name "Icon-iPhone-60@3x.png")
BASE_IMAGE_PATH=$(find ${SRCROOT} -name ${BASE_IMAGE_NAME})
WIDTH=$(identify -format %w ${BASE_IMAGE_PATH})
if [ "${CONFIGURATION}" == "EnterpriseStaging" ]; then
convert StagingRibbon.png -resize ${WIDTH}x${WIDTH} resizedRibbon.png
composite resizedRibbon.png - ${TARGET_PATH}
fi
if [ "${CONFIGURATION}" == "EnterpriseProduction" ]; then
convert ProdRibbon.png -resize ${WIDTH}x${WIDTH} resizedRibbon.png
composite resizedRibbon.png - ${TARGET_PATH}
fi
}
generateIcon "Icon-iPhone-60@3x.png"
generateIcon "Icon-iPhone-60@2x.png"
generateIcon "Icon-iPhone-40@3x.png"
generateIcon "Icon-iPhone-40@2x.png"
generateIcon "Icon-iPhone-29@3x.png"
generateIcon "Icon-iPhone-29@2x.png"
generateIcon "Icon-iPhone-20@3x.png"
generateIcon "Icon-iPhone-20@2x.png"
这是控制台输出。
复合:此图像格式没有解码委托 `' @ error/constitute.c/ReadImage/554。
复合:`/Users/moraleda/Library/Developer/Xcode/DerivedData/CLCarRental-exspsgiumroqxzgzgtpmazepfnvy/Build/Products/EnterpriseStaging-iphonesimulator/CLCarRental.app/Icon-iPhone-60@3x.png'@error/composite.c/CompositeImageCommand /1627。
我在桌面上用图像测试了这些命令,它们工作得很好。我假设访问模拟器文件夹时出现问题,但我无法真正弄清楚......
解决方案
推荐阅读
- unit-testing - NestJS 模拟返回 Guard 的 Mixin
- python - 如何在使用 Django Rest ModelSerializer 序列化数据时拒绝查询集对象?
- firebase - 如何从自定义身份提供者的响应参数中提取数据
- eclipse - Eclipse 更新 ==> “没有 id org.python.pydev.editor.PythonEditor 的编辑器描述符”
- php - 带有 html 输入的 MYSQL 查询
- servlets - 嵌套的 ContextHandler 未按预期运行
- html - 如何在没有 div 的情况下通过 css 将图像放在内联 svg 之上?
- python - Pytest - 如何访问所有收集的测试报告以进行报告?
- android - 如何在两个 Spannable 之间添加水平间距?
- javascript - jQuery newsticker 添加新列表 onclick 无法正常工作