iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人

336 阅读2分钟

OC环境设置方法:点击前往
这篇博客只做为对oc版本的补充,所以就不一步步来操作了,不知道怎么操作的可以点击上面的链接查看oc版本的配置。

swift项目要想达到同名文章oc版本的效果,有两种设置方法,一种是新增几步操作,另一种是全新的配置方法,更简单,下面,我来详细说明这两种方法的使用和差异:
1.照着链接中oc版本的配置进行配置,配置好后,swift项目无论怎么切换都处于DEBUG模式下,这时候,需要多几步操作来处理:
1)在buildsetting->other swift flags,在Debug后面新增加“-D DEBUG”,
这里写图片描述
这里写图片描述
这里写图片描述
这里每一项都要设置;
2)此外,在buildsetting->Active Compilation Conditions下的Debug后面删除原来的Debug,和上面的一样,每一个都要删除。
做完以上两部操作,在Xcode中:

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        var url = NSString.init()
        #if DEBUG
            url = "http://bbbbbbbbbbbbbbb";
        #elseif DEV
            url = "http://cccccccccccccc";
        #else
            url = "http://dddddddddddddd";
        #endif

        print(url)


        return true
    }

以swift的模式来写即可实现需求,这里说明下为什么要这么写,有一种说法是swift在Debug模式下不支持这种设置,如果你有更好的解释,欢迎告诉博主,谢谢。

2.第二种方法较上面的设置相对容易很多了,你不需要以上设置“-D DEBUG”,删除Debug之类的,只需要在buildsetting->Active Compilation Conditions下的Debug后面写上你需要的DEBUG=1,DEV=1,TEST=1这样的设置就可以了,对应不同的target哦,你会发现没有在Preprocessor Macros下面进行配置,那是因为在Xcode8新增了Active Compilation Conditions这一项之后有这样一种约定,oc下使用Preprocessor Macros来进行配置,swift下使用Active Compilation Conditions来进行配置。



以上就是swift项目多target配置方法,如果有其他问题,欢迎加群一起讨论,也欢迎补充。