ios – 如何为不同的目标分配特定于位置的BundleDisplayNames

我有2个应用程序:Free&充分
我有2种语言:英语&德语

这导致4个不同的应用程序名称

我怎样才能做到这一点.

实际上我的所有目标都有“Free”这个名字,即使它是完整版.

我知道:
我有1个InfoPlist.strings文件,它与本地化相乘,我可以将它们分配给目标.因此对于1 App我可以本地化BundleDisplayName.

但是,如何为第二个应用分配特定名称?

解决方法

PlistBuddy是你的朋友.您需要做的是在构建时更新您的plist.

>你必须为你拥有的每个目标创建自定义方案(我假设你已经有了)
>在你的xcode中转到scheme并将这样的post动作添加到自定义方案目标:

这是代码:

infoplist="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"
/usr/libexec/PlistBuddy -c "Set CFBundleName some_new_name_here" "$infoplist"

这种方法的重要之处在于,您不会在plist文件中进行任何更改,但使用后期操作,您已经更改了为设备准备的数据包,因此您可以保持代码存储库的整洁.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...