本文转自: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的配置项。

(转)iOS开发之同一应用设置不同图标和名称的更多相关文章

  1. IOS开发中UIFont字体设置

    我们在开发中很多时候要设置UIlabel,UIbutton,UItextfield的字体,这个时候我们就需要用到UIFont,下面简单介绍一下UIFont的用法,仅供参考. UIFont用于获取和设置 ...

  2. 【iOS开发-66】QQ设置界面的案例:利用storyboard开发静态的tableView界面,核心是Static Cells

    (1)效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Vpc3ViYW8=/font/5a6L5L2T/fontsize/400/fill/I0JB ...

  3. iOS开发-NSLog不打印设置 Prefix

    首先在-Prefix.pch,文件里添加如下代码 #ifdef DEBUG #define NSLog(...) NSLog(__VA_ARGS__) #define debugMethod() NS ...

  4. iOS开发中view controller设置问题

  5. AJ学IOS(21)UIApplication设置程序图标右上⾓红⾊数字_联⺴指⽰器等

    AJ分享,必须精品 效果简介 UIApplication的运用,有很多相如:进⾏行⼀一些应⽤用级别的操作等等,打开网页,打开电话拨号和信息等.. 什么是UIApplication ● UIApplic ...

  6. iOS开发之UITextField 左侧设置小图标 leftview

    设置用户登录的时候,这个是避免不了,实现方法很多,我个人主张,系统有提供就使用系统,一来方便,二来运行效率高 Paste_Image.png 实现代码如下: pwdTextField.placehol ...

  7. ios开发中全局变量设置和调用方法

    ios开发中,全局变量设置和调用方法如下:在AppDelegate.h文件中设置全局变量:@interface ***AppDelegate{NSString *myName;}@property ( ...

  8. 文顶顶iOS开发博客链接整理及部分项目源代码下载

    文顶顶iOS开发博客链接整理及部分项目源代码下载   网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程 ...

  9. iOS开发人员不容错过的10大工具

    内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...

随机推荐

  1. ko.js循环绑定值问题(工作遇见)

    fewTags()这是一个数组,循环实现以上效果,箭头所指的不属于循环出来的值, 以前循环是绑定在<div class="file-tag-list">中造成编辑不能在 ...

  2. [洛谷P2186] 小Z的栈函数

    题目链接: 传送门 题目分析: 大模拟,先得存操作,然后再处理每个数-- 有一个小优化,在处理操作的时候顺便判一下最后栈里是不是有且仅有一个数,但A完了才想起来,所以就算了-- 总之就是个模拟题--没 ...

  3. SNMP消息传输机制

    1.引言 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base).管理信息库包含所有代理进程的所有可被查询和修改的参数.RF ...

  4. 使用openssl 生成免费证书

    阅读目录 一:什么是openssl? 它的作用是?应用场景是什么? 二:使用openssl生成免费证书 回到顶部 一:什么是openssl? 它的作用是?应用场景是什么? 即百度百科说:openssl ...

  5. leetcode542 01 Matrix

    思路: 多个起点的bfs. 实现: class Solution { public: vector<vector<int>> updateMatrix(vector<ve ...

  6. 【extjs6学习笔记】0.3 准备:系统架构

  7. selenium-Python之定位下拉框选择

    1.通过select 进行定位下拉框 下拉框如图所示 通过代码定位 #通过index进行选择Select(driver.find_element_by_id("cardType") ...

  8. 修改本地dns域名对应的 ip

    C:\Windows\System32\drivers\etc 打开 hosts 文件 在浏览器 访问 http://a.com,就相当于访问 127.0.0.2 这个ip了

  9. LINUX 安装JDK (rpm格式和tar.gz格式)

    谷歌博客地址:http://tsaiquinn.blogspot.com/2014/10/linux-jdk-rpmtargz.html JDK rpm方式: 我使用的是SecureCRT,先下载了然 ...

  10. js 分组数组

    思路: 1.先将数组按照一定规则排序: 2.再拆分数组到Map中,按Key分类: 3.再从Map中遍历取出要显示的内容: sortBroadList: function (broadcastList) ...