我正在尝试本地化应用程序的名称,同时仍然能够根据构建配置附加字符串。所以目前它设置为:
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}</string>
该设置定义为:
![Build Setting](https://i.stack.imgur.com/PLlB0.png)
这样我们就可以为不同的测试版本添加后缀到应用程序中。问题是,当我们尝试本地化本地化的应用程序显示名称时InfoPlist.strings
like so
CFBundleDisplayName = "Localized App Name";
我们覆盖存储在Info.plist
,并丢失后缀字符。有什么好的办法解决这个问题吗?我们希望避免出现多个Info.plist
files.
您将需要一个自定义脚本来执行此操作。这是为我工作的一个
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";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)