iOS 项目多环境与多 target 的配置

热门标签

,

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

开发应用的时候,可能需要配置不同的环境或target。举个例子,比如在AdHoc和Appstore两种发布方式中会用不同的URL链接,或者是需要实现企业版和公司版两个版本,xcode为我们提供这种实现

多环境配置

较规范的app在开发过程中大都采用测试环境和正式环境,有的还会因为迭代版本而存在多个测试环境,因此需要为工程进行多环境配置来适应这一场景,提高开发效率;

添加configration

iOS 项目多环境与多 target 的配置

 

点击 project --> Configrations 左下角的 ‘+’ 按钮,工程刚创建的时候只有 Debug 和 Release,点击 “Duplicate 'Debug' Configration”会复制 Debug 生成一个新的 Configration,如图所示,我添加了两个,并将名字分别命名为 Cit 和 Dev,至此Configration添加完毕。

#ifdef DEV
    NSLog(@"DEV");
#elif CIT
    NSLog(@"CIT");
#else
    NSLog(@"DEBUG");
#endif

在很多过程中都见过如上的代码写法,便是根据 Configration 不同执行不同操作,但需在添加完 Configration 之后,进行一个小小的设置方可使用。
** Step 1 **
打开 project --> Build Settings

iOS 项目多环境与多 target 的配置

 

** Step 2 **
会看到 Preprocessor Macros 下 Cit、Dev、Debug后均显示 “DEBUG=1” 字样,编辑Cit和Dev后改为 “CIT=1” 和 “DEV=1”,便可在过程中实现 #ifdef 的写法了。

添加完 Configration 之后,如果工程采用了 Pod,需执行 pod update 或 pod install;运行时可根据需要选择 Configration

iOS 项目多环境与多 target 的配置

添加 .xcconfig 文件

iOS 项目多环境与多 target 的配置

为每个 Configration 指定 .xcconfig 文件,文件中我针对不同 Configration 设置了不同的URL

TSAPP_URL = http://192.168.6.24:8080

在 info.plist 中添加如下的值:

iOS 项目多环境与多 target 的配置

 

工程中获取即可使用:

#ifdef DEV
    NSLog(@"DEV:%@", [NSBundle mainBundle].infoDictionary[@"TSAPP_URL"]);
#elif CIT
    NSLog(@"CIT:%@", [NSBundle mainBundle].infoDictionary[@"TSAPP_URL"]);
#else
    NSLog(@"DEBUG:%@", [NSBundle mainBundle].infoDictionary[@"TSAPP_URL"]);
#endif

多target配置

有些公司针对一个工程可能会发布两个或多个app,例如一个为企业账号分发版、一个 app store版,存在差异但大部分相同,此时就需要为工程配置多target。

添加target

iOS 项目多环境与多 target 的配置

 

点击 Duplicate 会复制当前target及当前target所引用的 info.plist 文件,可以自行修改名字

选择 info.plist 文件

通过下面两个地方可以设置 target 所使用的 info.plist 文件

 

iOS 项目多环境与多 target 的配置
iOS 项目多环境与多 target 的配置

pod更新

将 podfile 文件改为下面所示格式,然后 pod update 或 pod install:

platform :ios, '8.0'
abstract_target 'TSKit' do

    target 'TSKit_Origin'
    target 'TSKit_Light'

end

至此,多环境与多target配置完成,亲自建个工程试一下吧~

标签:

未经允许不得转载:作者:SheaYang, 转载或复制请以 超链接形式 并注明出处 技术Dog|博客
原文地址:《iOS 项目多环境与多 target 的配置》 发布于2019-10-14

分享到:
赞(0)

评论 抢沙发

6 + 4 =


iOS 项目多环境与多 target 的配置

长按图片转发给朋友

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录