gpt4 book ai didi

iOS11 AppIcon无法改变

转载 作者:可可西里 更新时间:2023-11-01 03:31:31 27 4
gpt4 key购买 nike

  • Xcode 9 测试版 6
  • iOS 11 测试版 10

    我想要带有自定义应用程序图标的包应用程序,所以我尝试替换 DerivedData 中的 AppIcon.png 文件(/Users/XXX/Library/Developer/Xcode/DerivedData/project/Build/Products/Debug-iphoneos/xxx.app )

    它适用于 iOS 10,但不适用于 iOS 11

    有人能解决吗?

    感谢提前

最佳答案

我找到了解决办法。我更改了源 .xcasset 文件夹中的应用程序图标,而不是派生数据中的(使用 ImageMagick)。所以,这是我的脚本:

#!/bin/bash

IFS=$'\n'
BASE_ICONS_DIR=$(find ${SRCROOT}/${PRODUCT_NAME} -name "AppIcon.appiconset")
IFS=$' '
CONTENTS_JSON="${BASE_ICONS_DIR}/Contents.json"

version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${INFOPLIST_FILE}"`
# The next line adds special suffix, necessary in my project
version="${version/'$(VERSION_SUFFIX)'/$VERSION_SUFFIX}"

function tag() {
export PATH=$PATH:/usr/local/bin:/opt/boxen/homebrew/bin/
ICON_PATH=$1

width=`identify -format %w ${ICON_PATH}`
[ $? -eq 0 ] || exit 1

height=$((width * 30 / 100))

if [ "${CONFIGURATION}" != "AppStore" ]; then
convert -background '#0008' \
-fill white -gravity center \
-size ${width}x${height} \
caption:"${version}" \
"${ICON_PATH}" +swap -gravity south -composite "${ICON_PATH}" || exit 1
fi
}

ICONS=(`grep 'filename' "${CONTENTS_JSON}" | cut -f2 -d: | tr -d ',' | tr -d '\n' | tr -d '"'`)

ICONS_COUNT=${#ICONS[*]}

IFS=$'\n'

for (( i=0; i<ICONS_COUNT; i++ )); do
tag "$BASE_ICONS_DIR/${ICONS[$i]}"
done

此脚本在Copy Bundle Resources 之前执行。执行应用程序图标后更改,因此我需要在最后一个构建阶段使用额外的运行脚本来恢复更改:

if [ "${CONFIGURATION}" != "AppStore" ]; then
IFS=$'\n'
git checkout -- `find "${SRCROOT}/${PRODUCT_NAME}" -name AppIcon.appiconset -type d`
fi

我的构建阶段如下所示:

My Build Phases looks like this

关于iOS11 AppIcon无法改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46114034/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com