適合工程多環境切換(swift環境),適合經常打很多不同環境包的人
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配置方法,如果有其他問題,歡迎加群一起討論,也歡迎補充。