美文网首页iOS开发(OC)iOSiOS开发技术
iOS 一个项目添加多个TARGET

iOS 一个项目添加多个TARGET

作者: JasonEVA | 来源:发表于2017-12-06 14:33 被阅读50次

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

    1.复制原有target

    复制原有target


    屏幕快照 2017-12-06 13.41.03 3.png

    选择仅复制


    屏幕快照 2017-12-06 13.44.53.png

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


    F2F53467-1987-485B-81A9-CF123C5D7816.png

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


    277A5A01-E010-4CDC-B11A-A3552F5DAAE5.png

    2.修改plist文件名

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


    7598FA90-9A11-4AC2-835F-C29C0F7BFA8D.png

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


    BCF883AD-1BC6-49B9-82BB-CDA3AA5C8D8E.png

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

    648AD266-A643-4651-B2BF-49EE25D944E0.png

    选择刚刚改名的plist文件


    89DFD276-F543-466D-98D8-E7E1E8DE4D3F.png

    4.修改Scheme名,方便区分

    选择Manage Schemes


    屏幕快照 2017-12-06 14.09.45.png

    回车编辑


    D85FA98A-AD22-4EB3-BA23-C76ACEF2EBC4.png

    完成


    F5B7D196-33FA-4C4C-8E2A-2E8CEC5EA593.png

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

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


    1E796A3A-F94B-4E1E-8F85-BFC03F2C4760.png

    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删除

    image.png

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

    image.png

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

    image.png

    参考资料:
    如何在iOS项目中创建多个target?

    相关文章

      网友评论

        本文标题:iOS 一个项目添加多个TARGET

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