Mar*_*ard 8 xcode localization info.plist ios
我正在尝试本地化应用程序的名称,同时仍然可以根据构建配置追加字符串.所以目前它被设置为:
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}</string>
Run Code Online (Sandbox Code Playgroud)
该设置定义为:

这样我们就可以为应用程序添加后缀以用于不同的beta版本.问题是,当我们尝试本地化本地化的应用程序显示名称时,InfoPlist.strings如此
CFBundleDisplayName = "Localized App Name";
Run Code Online (Sandbox Code Playgroud)
我们覆盖存储在的值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
Run Code Online (Sandbox Code Playgroud)
然后在您的InfoPlist.strings中为包名添加前缀,如此
CFBundleDisplayName = "=com.mycompany.bundlenameprefix=My App";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1254 次 |
| 最近记录: |