本文转自:http://www.devzeng.com/blog/ios-two-version-app-setting-profile.html

iOS开发之同一应用设置不同图标和名称

SEP 6TH, 2014

经常在开发中遇到同一个App会有很多渠道版本,比如OTA内部测试版本,AppStore发布版本等。针对这些不同的版本我们通常会选择不同的图标、应用名称等,效果如下图所示:

P.S上面使用的两个测试图标分别来源于土巴兔乐视TV的iPhone版本APP的图标,是两个非常不错的APP,感谢你们。

Bundle ID

iOS系统区分不同的App是否相同是根据App的Bundle ID是否相同来判断的。如果想要在一个系统上安装一个App的多个版本其实是需要多个Bundle ID,就是说正式版一个Bundle ID,测试版一个Bundle ID。比如我们正式版(发布到AppStore上)的Bundle ID是com.devzeng.myappappstore,内部OTA测试版本的Bundle ID是com.devzeng.myappota.

Build Configuration

默认Xcode会提供2个Build配置项(Build Configuration):Debug和Release。一般来说这样两种情况就足够了,但是在有些时候我们需要添加一个新的配置项,添加一个新的配置项的步骤如下:

1、方式一:选中PROJECT的名称,然后选中Info,点击Configurations下面的+选择Duplicate "Debug" Configuration,如下图:

2、方式二:选中PROJECT的名称,然后选中Editor–>Add Configuration–>Duplicate "Debug" Configuration,如下图所示:

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)三个配置选项,效果如下图:

Info.plist配置

关于常见的Info.plist的一些配置可以参考《iOS中Info.plist文件的常见配置》

1、配置应用的图标

使用${APP_ICON_NAME}.png${APP_ICON_NAME}@2x.png${APP_ICON_NAME}-120@2x.png替代图标的名称。

2、配置应用的名称

设置Bundle display name${APP_DISPLAY_NAME},其中APP_DISPLAY_NAME是前面User-Defined Setting中设置的应用程序名称的配置项。

3、配置Bundle ID,用于区分不同的版本

设置Bundle identifier${BUNDLE_IDENTIFIER},其中BUNDLE_IDENTIFIER是前面User-Defined Setting中设置的应用程序Bundle ID的配置项。

最新文章

  1. Linux网络相关配置
  2. 【Linux学习】如何了解一个陌生的命令?
  3. iOS-UIView-设置背景图片4种方式
  4. matlab图像剪裁命令imcrop()
  5. WebApi接口访问频率控制的实现
  6. POJ 1011 - Sticks DFS+剪枝
  7. B - 畅通工程(并查集)
  8. HDU 3831 DICS
  9. java TCP并发实现文件上传---转载(PS:适合java1.6之前)
  10. LeetCode OJ 95. Unique Binary Search Trees II
  11. 【HTML初识】
  12. mysql 在B数据库下 创建一个与A数据库中一样的表
  13. jenkins创建pipeline
  14. shell excute mongo query command
  15. cocos 2dx 通过循环实现界面图形的摆放
  16. 01_re正则表达式
  17. Ansible Ad-Hoc命令
  18. MySQL学习【第四篇mysql体系结构管理】
  19. scikit-learn 中常用的评估模型
  20. sqlite3 shell方向键、浏览历史命令不能用的问题

热门文章

  1. C# 基础之类与结构体的区别
  2. 转 载python数据分析(1)-numpy产生随机数
  3. POP页面暂时不销毁
  4. Springboot的static和templates
  5. 深度学习中GPU和显存分析
  6. ps 进程管理
  7. iOS Runloop 消息循环
  8. 洛谷 2543 [AHOI2004]奇怪的字符串
  9. (九)maven之聚合多模块
  10. KissXML类库的使用方法