zoukankan      html  css  js  c++  java
  • iOS 一个项目添加多个TARGET

    项目开发中会存在测试、正式等不同环境,需对应不同接口Host地址、项目名称等等配置。如果每次只有一个项目target的话每次打包的时候替换会很麻烦,而且容易出错。所以我们可以通过创建多个不同配置的target以区分不同环境。

    1.复制原有target

    复制原有target

    选择仅复制

    复制完成后出现一个copy的target

    方便区分可将target进行改名(直接在target上回车即可编辑)

    2.修改plist文件名

    在复制target操作后不仅复制出了一个target,还会复制出一个对应的Info.plist文件

    将复制出来的plist文件改名,好对应区分

    3.为刚刚复制出来的target选择对应的plist文件

    选择刚刚改名的plist文件

    二、复制plist,配置plist

    复制plist,重新命名,然后配置对应的Target

    选择对应的Target,Build Settings,搜索info ,在info.plist File修改对应的plist文件

    4.修改Scheme名,方便区分

    选择Manage Schemes

    回车编辑

    完成

    5.预定义宏已区分测试target(Build Setting–>Preprocessor Macros)

    这个宏是一个全局宏,在所有/整个工程的代码中都是有效的,我们可以在这里添加上环境与处理的宏(例如:JW_TESTMARK,这个是随便自己取的)

    6.根据预定义的宏以区分环境,进行配置

    #if defined (JW_TESTMARK)
    
    //测试环境
    #define AppMainUrl @"http://192.168.1.111:8080/"
    
    #else
    
    //正式环境
    #define AppMainUrl @"http://api.baidu.com/"
    
    #endif

    打完收工

    需要注意的

    你的项目如果是xcworkspace,创建不同的target时,有个细节需要注意

    1.需先将复制出来的target中libPods-XXXX删除

    2.然后在Podfile中添加新的target

    3.pod install 重新生成libPods-XXXX测试文件

    文章摘抄自:

    https://www.jianshu.com/p/cd3727495928

    http://www.cocoachina.com/ios/20160331/15832.html

  • 相关阅读:
    mybatis <=或这个>=提示错误Tag name expecte问题解决
    Navicat 设置自增长初始值
    mysql 时间与字符串相互转换
    jquery 动态控制显隐
    mysql 查询常见时间段数据
    jquery 取得select选中的值
    java8 运算语法集
    springboot 单元测试
    idea 自动生成并跳转单元测试
    限制页面被pc端访问
  • 原文地址:https://www.cnblogs.com/jerryspace/p/11904792.html
Copyright © 2011-2022 走看看