博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发之同一应用设置不同图标和名称
阅读量:4296 次
发布时间:2019-05-27

本文共 1363 字,大约阅读时间需要 4 分钟。

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

demo_preview.png

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

Bundle ID

系统区分不同的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,如下图:

build_setting_01.png

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

build_setting_02.png

User-Defined Setting

在Xcode中使用User-Defined Setting可以定义一些Xcode编译使用的宏配置,为了实现不同环境下App显示的名称和图标不同,可以在User-Defined Setting中定义一些有关应用程序名称和应用图标的配置。

1、开启User-Defined Setting,如下图:

user-defined-01.png

2、添加APP_DISPLAY_NAME(APP的名称)、APP_ICON_NAME(APP图标名称)和BUNDLE_IDENTIFIER(APP Bundle ID)三个配置选项,效果如下图:

user-defined-02.png

Info.plist配置

关于常见的Info.plist的一些配置可以参考。

1、配置应用的图标

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

info_plist_icon_name.png

2、配置应用的名称

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

info_plist_display_name.png

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

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

info_plist_bundle_id.png

参考资料

1、

2、

3、

本人做的时候,AppIcon还是得打包前手动换一下文件夹,APP名字倒是可以自动加载。

转载地址:http://dudws.baihongyu.com/

你可能感兴趣的文章
phpstorm开发工具的设置用法
查看>>
Linux 系统挂载数据盘
查看>>
Git基础(三)--常见错误及解决方案
查看>>
Git(四) - 分支管理
查看>>
PHP Curl发送数据
查看>>
HTTP协议
查看>>
HTTPS
查看>>
git add . git add -u git add -A区别
查看>>
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>
Laravel中的$loop
查看>>
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
cmder的安装与配置
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>
Laravel 操作redis的各种数据类型
查看>>
Laravel框架学习笔记之任务调度(定时任务)
查看>>
laravel 定时任务秒级执行
查看>>