gpt4 book ai didi

ios - 使用附加字符串本地化 Info.plist 变量

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

我正在尝试本地化应用程序的名称,同时仍然能够根据构建配置附加字符串。所以目前它被设置为:

<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}</string>

该设置定义为:

Build Setting

这样我们就可以为我们不同的 beta 版本添加后缀到应用程序。问题是,当我们尝试像这样在本地化的 InfoPlist.strings 中本地化应用程序显示名称时

CFBundleDisplayName = "Localized App Name";

我们覆盖存储在 Info.plist 中的值,并丢失后缀字符。有什么好的办法解决这个问题吗?我们希望避免拥有多个 Info.plist 文件。

最佳答案

您将需要一个自定义脚本来执行此操作。这是一个为我工作的

PREFIX_IDENTIFIER="=com.mycompany.bundlenameprefix="
PREFIX=""

if [ $CONFIGURATION == "Debug" ]
then
PREFIX="α "
fi

if [ $CONFIGURATION == "Enterprise" ]
then
PREFIX="β "
fi

for i in `dirname "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"`/*.lproj/InfoPlist.strings
do
plutil -convert json "$i"
sed -i -e "s/${PREFIX_IDENTIFIER}/${PREFIX}/g" "$i"
plutil -convert binary1 "$i"
done

然后在您的 InfoPlist.strings 中为包名称添加一个前缀,如下所示

CFBundleDisplayName = "=com.mycompany.bundlenameprefix=My App";

关于ios - 使用附加字符串本地化 Info.plist 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27799432/

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