iOS开发之同一应用设置不同图标和名称
来源:互联网 发布:淘宝怎么开通子账号 编辑:程序博客网 时间:2024/06/07 12:30
经常在开发中遇到同一个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、《How to Have Two Versions of the Same App on Your Device》
2、《如何在一个设备上安装一个App的两个不同版本》
3、《Adding a build configuration in Xcode》
本人做的时候,AppIcon还是得打包前手动换一下文件夹,APP名字倒是可以自动加载。
- iOS开发之同一应用设置不同图标和名称
- iOS开发之同一应用设置不同图标和名称
- iOS开发之同一应用设置不同图标和名称
- iOS开发之同一应用设置不同图标和名称
- App同一应用设置不同图标和名称
- iOS开发设置App的图标、名称、启动图
- iOS设备获取手机上应用名称和图标
- 一键打包出多个不同包名,不同应用名称和图标的APK
- 一键打包出多个不同包名,不同应用名称和图标的APK
- 一键打包出多个不同包名,不同应用名称和图标的APK
- 设置应用程序图标和名称
- iOS开发 获取应用名称和版本号
- IOS 设置应用图标
- ios开发设置icon和Launch图标
- iOS开发:设置App名称,设置App icon图标,设置App启动图
- iOS开发之应用设置
- iOS新闻客户端开发教程2--应用图标和启动图片设置
- iOS开发中,应用图标(AppIcon)的设置
- 自学编程之路——位运算
- javascript中的函数
- 屏蔽鼠标右键
- 下载文件的一种简单方法js
- ubuntu动态链接库连接出错 cannot open shared object file: No such file or directory
- iOS开发之同一应用设置不同图标和名称
- ECLIPSE/JAVAWEB (一)三大框架之STRUTS框架 持续更新中...
- beego
- Cocos2d-x里面如何实现MVC(三)
- 生成验证码的工具类和使用的servlet
- 持续集成 之 Jenkins插件 Multiple SCMs Plugin
- JNI调用java方法, new java对象,new java内部类
- TortoiseSVN 由于目标计算机积极拒绝 无法连接
- nginx配置多个域名解析示例