Я следовал этому руководству , чтобы модифицировать 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@ental.app/Icon-x. с / CompositeImageCommand / 1627
Я протестировал команды с изображениями на рабочем столе, и они работали просто отлично. Я предполагаю, что есть проблема с доступом к папке симулятора, но я не могу понять это ...