Xcode: используйте Imagemagick для создания AppIcons во время сборки - PullRequest
0 голосов
/ 29 августа 2018

Я следовал этому руководству , чтобы модифицировать 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

Я протестировал команды с изображениями на рабочем столе, и они работали просто отлично. Я предполагаю, что есть проблема с доступом к папке симулятора, но я не могу понять это ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...