美文网首页OC-开发案例收集
iOS进阶01:多环境配置

iOS进阶01:多环境配置

作者: 黑白森林无间道 | 来源:发表于2021-02-03 13:53 被阅读0次
  • Project: 包含了项目所有的代码,资源文件,所有信息。
  • Target:对指定代码和资源文件的具体构建方式。
  • Scheme:对指定Target的环境配置。

多环境配置的三种方式:

  • 多tagert模拟多环境配置
    • 会生成多个 info.plist文件,配置繁琐,容易出错
  • 多 scheme + 多 configuration(Debug、Beta、Release)
  • 多 scheme + xcconfig文件配置 (推荐使用
    • 通过把配置写到对应的文件,管理起来更加清晰

多Target配置

  • 选中一个 Target,右击,复制一个Target
    image
    复制之后,会多出来一个 Target和对应的 info.plist文件
    image
  • 修改 Targetinfo.plist文件,对应的Build Settings—> Packaging—>Info.plist File也需要写成修改后的名称,否则编译器会报错
    image
  • 修改完成后,就可以通过 Scheme选择不同的 Target编译运行
    image
    image

多 scheme + 多 configuration

  • 创建 Beta configuration

    image
  • 新建两个 Scheme,分别命名为 DebugBeta

    image
  • Scheme设置对应的 configuration

  • 创建自定义参数 HOST_URL

    image
  • 在info.plist文件中添加 HOST_URL参数

    image
  • 通过读取 Info.list就可以得到 相应的 HOST_URL

NSString *path = [NSBundle.mainBundle pathForResource:@"Info" ofType:@"plist"];
    NSDictionary *infoDic = [[NSDictionary alloc] initWithContentsOfFile:path];
    NSLog(@"====%@", infoDic[@"HOST_URL"]);
image
image

多 scheme + xcconfig文件配置

通过下图发现,pod 就是通过 xcconfig文件进行配置的

image
  • 创建自己的 xcconfig文件, 注意保存的名称 Config-LoginApp.debug.xcconfig,参考pod命名规则, 文件名 - app名 . 环境 .xcconfig

    image
    image
  • xcconfig文件中自定义参数 HOST_URL,以键值对形式设置

HOST_URL = www.debug.com
image
  • 在info.plist文件中添加 HOST_URL参数

    image
  • 通过读取 Info.list就可以得到 相应的 HOST_URL

NSString *path = [NSBundle.mainBundle pathForResource:@"Info" ofType:@"plist"];
    NSDictionary *infoDic = [[NSDictionary alloc] initWithContentsOfFile:path];
    NSLog(@"====%@", infoDic[@"HOST_URL"]);
image
  • xcconfig还可以修改 Target中的设置,下列以Other Linker Flags举例
HOST_URL = www.debug.com
// OTHER_LDFLAGS 是 Other Linker Flags 的缩写
OTHER_LDFLAGS = -framework "AFNetworking"
image
【注意】Xcode Build Settings更多缩写内容,可以通过这个网址查询地址

xcconfig文件冲突解决

使用自己的 xcconfig文件,运行pod install时,报错如下:

image
  • 通过 #include 引入其他 xcconfig文件

    image
  • 通过 #include导入的其他xcconfig文件,设置了一个配置,在自定义的xcconfig设置该配置,会覆盖导入的其他xcconfig文件的配置,此时需要添加 $(inherited)(代表继承)

    image

相关文章

  • iOS 开发进阶 文章汇总

    0、多环境开发配置iOS-开发进阶01:多环境配置[https://www.jianshu.com/p/c40b3...

  • iOS进阶01:多环境配置

    Project: 包含了项目所有的代码,资源文件,所有信息。 Target:对指定代码和资源文件的具体构建方式。 ...

  • iOS-开发进阶01:多环境配置

    iOS 开发进阶 文章汇总 本篇文章主要介绍多环境配置 & Mach-O与链接器 & Symbol 一、多环境配置...

  • iOS 多Target环境配置

    iOS 多Target环境配置iOS 多Target环境配置

  • iOS多环境配置

    iOS多环境配置 背景 一个APP的生命一般有开发,测试,预发布,到上线几个阶段。在不同的阶段,至少使用的服务器地...

  • iOS多环境配置

    由于项目需要为一个APP生成不同环境下的版本,例如Debug版本、Release版本、Test版本,于是研究了一下...

  • iOS 多环境配置

    看到一篇对iOS多环境配置介绍不错的文章,翻译了一下,原文链接这里: 原文链接 下面的例子展示了如何在Xcode中...

  • iOS:多环境配置

    1.多target配置配合多Scheme 1.1.创建多个target 点击Duplicate,创建target,...

  • iOS配置多环境

    一般项目中都会有测试环境和正式环境,如果我们我们不进行一些配置的话,每一次不同环境的切换的时候,我们都需要修改一些...

  • iOS多环境配置

    背景 在开发中,我们经常会遇到同一套代码不同的版本,比如development、beta、release等。下面介...

网友评论

    本文标题:iOS进阶01:多环境配置

    本文链接:https://www.haomeiwen.com/subject/eagptltx.html