真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

iOSAPP多服務(wù)器環(huán)境分離的方法

每個(gè) App 項(xiàng)目可以有多個(gè)環(huán)境, 開發(fā)環(huán)境 、 測試環(huán)境 、 預(yù)發(fā)布環(huán)境生產(chǎn)環(huán)境 ,至少有 開發(fā)環(huán)境生產(chǎn)環(huán)境

成都創(chuàng)新互聯(lián)公司是一家以成都網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、網(wǎng)站推廣、小程序App開發(fā)等移動(dòng)開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為成都格柵板等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。

研發(fā)同學(xué)和測試同學(xué)經(jīng)常需要在環(huán)境間切換,產(chǎn)品同學(xué)有時(shí)候也會(huì)心血來潮的看看各種版本,也就是說,有時(shí)候需要測試版本,有時(shí)候又需要正式版本,我之前的做法就是每次切換 url ,然后重新打包,或者重新運(yùn)行,超麻煩~

那么有沒有可能在一個(gè)手機(jī)直接裝多個(gè)版本吶?

答案肯定是有滴(否則還碼這篇文章干嘛吶~)

個(gè)人覺得最好的方案就是 ------ 環(huán)境分離,即不同的環(huán)境對應(yīng)不同的 app

每個(gè)Target代表一個(gè)編譯的產(chǎn)品。每個(gè)Target,可以有不同的編譯源文件和資源文件。那么,實(shí)現(xiàn)環(huán)境分離的方案,就是分別建立測試環(huán)境和生產(chǎn)環(huán)境的兩個(gè)Target。默認(rèn)的Target作為生產(chǎn)環(huán)境的Target,在此基礎(chǔ)上復(fù)制多一個(gè)Target作為測試環(huán)境的Target。

一個(gè) app 只能有一個(gè)唯一標(biāo)示, iOS 使用的是 Bundle Identifier , Android 使用的是包名,因此,在一個(gè)手機(jī)上安裝多個(gè)環(huán)境的 app ,只需要每個(gè)環(huán)境的 Bundle Identifier 或者包名不同即可, 一般做法是在后面添加環(huán)境后綴,比如生產(chǎn)環(huán)境為 com.shenfengfeng.myapp ,那么測試環(huán)境就可以為 com.shenfengfeng.myapp.alpha , app 名字會(huì)更新,當(dāng)然也可以手動(dòng)改,當(dāng)然也還可以改圖標(biāo),用來在同一個(gè)手機(jī)上區(qū)分版本

但是這種做法有個(gè)不好的地方就是需要,需要針對不同的環(huán)境,申請,不同的第三方的 appKeyappSecret

那么是來回注釋,還是申請賬號(hào),看自己取舍吧~

多環(huán)境分離演示:

概述: iOS app 可以通過創(chuàng)建不同環(huán)境的Target來實(shí)現(xiàn)環(huán)境分離,不同Target可以設(shè)置不同的 bundle id 、名稱、圖標(biāo)等。每個(gè) target 也對應(yīng)的 plist 文件

1、復(fù)制 target ,選中后右鍵,選擇 Duplicate

iOS APP 多服務(wù)器環(huán)境分離的方法

2、默認(rèn)的名字為 **** copy

iOS APP 多服務(wù)器環(huán)境分離的方法

3、修改 targetbundle id ,需要注意的是,在修改 target 的名字后,需要切換到 Xcode 的其他地方(比如其他 target )后再切回來,然后 display name 會(huì)自動(dòng)適配

iOS APP 多服務(wù)器環(huán)境分離的方法

4、項(xiàng)目結(jié)構(gòu)里面會(huì)多一個(gè)默認(rèn) target 名字的 ***.plist 文件

iOS APP 多服務(wù)器環(huán)境分離的方法

5、 右鍵 show in finder ,將這個(gè) plist 文件改名,并且移到項(xiàng)目的原本的 plist 文件的同級(jí)目錄,然后重新添加到項(xiàng)目中,注意選擇的 target

iOS APP 多服務(wù)器環(huán)境分離的方法

6、看下圖

iOS APP 多服務(wù)器環(huán)境分離的方法

7、因?yàn)橐苿?dòng)了新的 targetplist 文件,所需要重新關(guān)聯(lián)到新的 plist 文件,關(guān)聯(lián)后隨意切換后會(huì)刷新

iOS APP 多服務(wù)器環(huán)境分離的方法

8、按著鍵盤 option ,點(diǎn)擊 Xcode 運(yùn)行按鈕(左上方),然后點(diǎn)擊 Manage Schemes

iOS APP 多服務(wù)器環(huán)境分離的方法

9、重命名新創(chuàng)建 schemes

iOS APP 多服務(wù)器環(huán)境分離的方法

10、如圖

iOS APP 多服務(wù)器環(huán)境分離的方法

11、右鍵新建 AppIcon

iOS APP 多服務(wù)器環(huán)境分離的方法

12、選擇新的 target 對應(yīng)的 AppIcon

iOS APP 多服務(wù)器環(huán)境分離的方法

13、關(guān)鍵步驟

設(shè)置了不同的 target 后,代碼上可以根據(jù)不同的 target 來做不同的處理,就需要知道,當(dāng)前在編譯的是哪個(gè) target

這可以通過,預(yù)編譯宏來區(qū)分,比如在 runtime alphatargetBuild Settings 中,在 Preprocessor Macros 中添加 FF_ALPHA

(也可以給 target runtime 設(shè)置 FF_ALPHA=0 ,給 runtime alpha 設(shè)置 FF_ALPHA=1

iOS APP 多服務(wù)器環(huán)境分離的方法

14、代碼中就可以如下判斷,依據(jù)實(shí)際情況

#ifdef FF_ALPHA
#define FF_URL @"****"
#elif ...
#define FF_URL @"****"
#else
#define FF_URL @"****"
#endif

15、結(jié)束,非常感謝看到這里的小伙伴,筆者感覺到很開心~

遇到的問題

切換 Scheme 時(shí)候,遇到如下圖報(bào)錯(cuò)

筆者將模擬器格式化后正常, Xcode 9.* ---> Hardware → Erase All Content and Settings...

iOS APP 多服務(wù)器環(huán)境分離的方法

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


網(wǎng)站標(biāo)題:iOSAPP多服務(wù)器環(huán)境分離的方法
本文來源:http://weahome.cn/article/ipoejj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部