每個 App 項目可以有多個環(huán)境, 開發(fā)環(huán)境 、 測試環(huán)境 、 預發(fā)布環(huán)境 和 生產(chǎn)環(huán)境 ,至少有 開發(fā)環(huán)境 和 生產(chǎn)環(huán)境
研發(fā)同學和測試同學經(jīng)常需要在環(huán)境間切換,產(chǎn)品同學有時候也會心血來潮的看看各種版本,也就是說,有時候需要測試版本,有時候又需要正式版本,我之前的做法就是每次切換 url ,然后重新打包,或者重新運行,超麻煩~
那么有沒有可能在一個手機直接裝多個版本吶?
答案肯定是有滴(否則還碼這篇文章干嘛吶~)
個人覺得最好的方案就是 ------ 環(huán)境分離 ,即不同的環(huán)境對應不同的 app
每個Target代表一個編譯的產(chǎn)品。每個Target,可以有不同的編譯源文件和資源文件。那么,實現(xiàn)環(huán)境分離的方案,就是分別建立測試環(huán)境和生產(chǎn)環(huán)境的兩個Target。默認的Target作為生產(chǎn)環(huán)境的Target,在此基礎上復制多一個Target作為測試環(huán)境的Target。
一個 app 只能有一個唯一標示, iOS 使用的是 Bundle Identifier , Android 使用的是包名,因此,在一個手機上安裝多個環(huán)境的 app ,只需要每個環(huán)境的 Bundle Identifier 或者包名不同即可, 一般做法是在后面添加環(huán)境后綴 ,比如生產(chǎn)環(huán)境為 com.shenfengfeng.myapp ,那么測試環(huán)境就可以為 com.shenfengfeng.myapp.alpha , app 名字會更新,當然也可以手動改,當然也還可以改圖標,用來在同一個手機上區(qū)分版本
但是這種做法有個不好的地方就是需要,需要針對不同的環(huán)境,申請,不同的第三方的 appKey 、 appSecret
那么是來回注釋,還是申請賬號,看自己取舍吧~
概述: iOS app 可以通過創(chuàng)建不同環(huán)境的Target來實現(xiàn)環(huán)境分離,不同Target可以設置不同的 bundle id 、名稱、圖標等。每個 target 也對應的 plist 文件
1、復制 target ,選中后右鍵,選擇 Duplicate
2、默認的名字為 **** copy
3、修改 target 和 bundle id ,需要注意的是,在修改 target 的名字后,需要切換到 Xcode 的其他地方(比如其他 target )后再切回來,然后 display name 會自動適配
4、項目結構里面會多一個默認 target 名字的 ***.plist 文件
5、 右鍵 show in finder ,將這個 plist 文件改名,并且移到項目的原本的 plist 文件的同級目錄,然后重新添加到項目中,注意選擇的 target
6、看下圖
7、因為移動了新的 target 的 plist 文件,所需要重新關聯(lián)到新的 plist 文件,關聯(lián)后隨意切換后會刷新
8、按著鍵盤 option ,點擊 Xcode 運行按鈕(左上方),然后點擊 Manage Schemes
9、重命名新創(chuàng)建 schemes
10、如圖
11、右鍵新建 AppIcon
12、選擇新的 target 對應的 AppIcon
13、關鍵步驟
設置了不同的 target 后,代碼上可以根據(jù)不同的 target 來做不同的處理,就需要知道,當前在編譯的是哪個 target
這可以通過,預編譯宏來區(qū)分,比如在 runtime alpha 的 target 的 Build Settings 中,在 Preprocessor Macros 中添加 FF_ALPHA
(也可以給 target runtime 設置 FF_ALPHA=0 ,給 runtime alpha 設置 FF_ALPHA=1 )
14、代碼中就可以如下判斷,依據(jù)實際情況
#ifdef FF_ALPHA#define FF_URL @"****"#elif ...#define FF_URL @"****"#else#define FF_URL @"****"#endif
15、結束,非常感謝看到這里的小伙伴,筆者感覺到很開心~
切換 Scheme 時候,遇到如下圖報錯
筆者將模擬器格式化后正常, Xcode 9.* ---> Hardware → Erase All Content and Settings...
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點
疑難解答
圖片精選