本文转自: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. [題解]luogu_P1333瑞瑞的木棍(并查集/圖論)

    是一道歐拉路的題竟然沒看出來...... 把每種顏色看成一個點,每根木棍看成一個邊,即相同顏色在圖中接好合併成了一個點, 問題轉化為了求是否存在歐拉路 如果用map會超時,所以可以用字典樹實現離散化/ ...

  2. JQ Ajax 同步与异步的区别

    $.ajax({ url: xml_addr, type: 'get', dataType: 'xml', timeout: 1000, //设定超时 cache: false, //禁用缓存 asy ...

  3. fake-useragent

    在编写爬虫进行网页数据的时候,大多数情况下,需要在请求是增加请求头 python下非常好用的伪装请求头的库:fake-useragent,具体使用说明如下: 安装fake-useragent库 pip ...

  4. 牛客小白月赛13 E(图、矩阵幂)

    AC通道 如果建立第一天某点到某点有几条路的矩阵,做k次矩阵乘就是第k天某点到某点有几条路.统计即可. #include <bits/stdc++.h> using namespace s ...

  5. cmder安装

    官网地址:http://gooseberrycreative.com/cmder/ 一款非常漂亮好用的cmd工具. 在github或者官网下载后解压,点击Cmder.exe即可启动. 32位系统会遇到 ...

  6. [转] boost:lexical_cast用法

    转载地址:http://www.habadog.com/2011/05/07/boost-lexical_cast-intro/ 一.lexical_cast的作用lexical_cast使用统一的接 ...

  7. 前端之Html元素的分类

    一.html元素可分为三大类:块元素.内联元素.可变元素 1.块元素: 常见块状元素:div,p,ul,ol,li,dl,dt,dd,form,hr,table,tr,td,h1-h6,filedse ...

  8. 洛谷P4017 最大食物链计数

    拓扑排序板子题 #include <iostream> #include <cstdio> #include <cstring> #include <queu ...

  9. 【Web应用-网络连接】Azure Web 应用对外连接数上限分析

    在 Azure Web 应用中发起大量外部连接操作时,需要考虑已经建立了多少外部连接.当超过最大对外连接数时,Azure Web 应用将会产生套接字异常.Azure Web 应用对于各个级别的实例,对 ...

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

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