有时在开发中会遇到一个问题 , 我们需要同一个APP的多个版本 , 比如betace测试版 , 和release 版本 , 我们需要将发布版 和 测试版用不同的APPIcon 和APP名称来区别 ,借用别人的效果图来看看;
Bundle ID
iOS系统区分不同的APP是否相同是根据APP的bundle ID 是否相同来判断的. 如果想要在一个系统上安装一个APP的多个版本就需要多个bundle ID , 就是说正式版一个bundle ID , 测试版一个bundle ID . 比如我们正式版的bundle ID 是 app.appName ; 内部测试版的bundle ID 是app.appName.test
User-Defined Setting
在Xcode中使用User-Defined Setting可以定义一些Xcode编译使用的宏配置,为了实现不同环境下App显示的名称和图标不同,可以在User-Defined Setting中定义一些有关应用程序名称和应用图标的配置。
1、开启User-Defined Setting,如下图:
2、添加APP_DISPLAY_NAME(APP的名称)、APP_ICON_NAME(APP图标名称)和BUNDLE_IDENTIFIER(APP Bundle ID)三个配置选项,效果如下图:
3、配置Bundle ID,用于区分不同的版本
设置Bundle identifier为${BUNDLE_IDENTIFIER},其中BUNDLE_IDENTIFIER是前面User-Defined Setting中设置的应用程序Bundle ID的配置项
注意: 我们需要关掉xcode默认的设置appIcon的方式,要采取自定义的方式设置