国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS使用Target如何快速科學的區分開發環境詳解

2019-10-21 18:43:19
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于iOS利用Target區分開發環境的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

什么是區分開發環境:

請求的域名+第三方SDK賬號的不同。

  • 請求的域名-->因為開發環境和正式環境的服務器和數據庫基本上都不是同一個。
  • 第三方SDK賬號-->第三方SDK需要賬號區分防止開發測試數據污染正式環境
    (推送+友盟統計是最明顯的例子)

這篇文章要點:

  • 如何使用Target去區分開發環境
  • 如何在1的基礎上面巧妙的區分第三方SDK的賬號

最終目的

在打包的時候切換對應環境的Target進行編譯即可獲得對應的安裝包。

引子:

開發APP區分環境是必不可少的話題,從 開發測試環境->pr環境->生產環境,甚至更多的環境,如何快速的進行管理是一個值得探討的話題。

不少項目在這方面好像沒有一個很好的解決方案導致項目到后期的時候第三方SDK的混亂以及各個環境之間的相互污染。雖然很多SDK已經提前給出了測試機的注冊等等方案,但是個人覺得還是比較麻煩。所以我們公司在很早的時候iOS小組一起討論出下面這種方案。已經在我們公司的后期開發的多個APP進行使用。

下面開始講講我們公司的解決方案吧(文章底部有Demo鏈接)

1.建立項目

2.將項目的target更改為dev環境的

ios,target,ios開發環境,新建target

3.建立管理第三方平臺的類目

這張有疑問不要緊,步驟完成后會詳細講解

ios,target,ios開發環境,新建target

4.建立APPStore環境下對應的Target

在開發環境的Target上面右鍵Duplicate一個新的Target,并且修改Target名稱為CBTDisTingGuishAppStoreEnvironment

5.修改Plist文件,對應上正確的Target

這時候你會看到多生成了一個Plist文件,不同的Target的Plist文件不共享我們需要修改這個Plist的對應關系以及名字。在修改plist名字的時候你會發現Target下面的對應的plist都空了,這時候就可以選擇對應的plist文件了。

下面是新建好對應關系的Target和Plist文件

ios,target,ios開發環境,新建target

6.ManagerScheme

修改對應的scheme名字,用于更好的辨認APP環境

ios,target,ios開發環境,新建target

ios,target,ios開發環境,新建target

7.上面步驟完成之后,打包之用切換Target進行編譯即可獲取對應環境的APP

(demo里面切換環境運行打印,你會發現得到的是不同的結果)

ios,target,ios開發環境,新建target

這里來解釋一下這個方案的核心

ios,target,ios開發環境,新建target

文件

      a.分別定義兩個環境的BundleID對應的宏

      b.定義了一個能夠在不同環境下面獲取到對應環境BundleID的宏

      c.定義根據不同環境區分不同的請求地址

      d.定義根據不同環境區分不同的sdk區域

用法:

kGetuiConfig[kBundleID][@"AppID"]

假設現在APP環境處于測試環境

kGetuiConfig是一個字典

ios,target,ios開發環境,新建target

kGetuiConfig[kBundleID] 是如圖字典

ios,target,ios開發環境,新建target

kGetuiConfig[kBundleID][@"AppID"]--> ebCsh9J11111111GhSZ9Hb5

ios,target,ios開發環境,新建target

如果你覺得有點繞是正常的,多看兩遍就知道了。

踩過的坑和注意點

1、第三方SDK去注冊賬號需要區分BundleID的時候,這時候一定需要創建兩個賬號(n個環境n個賬號),其他不需要區分BundleID的,盡量創建兩個賬號,這樣區分環境才有意義。

2、不同Target必須要對應不同的Plist,需要進行配置,如果實在搞不清楚,就刪除所有的Plist,然后重新添加,這樣Target上面對應的pilst為空的時候就能進行選擇配置。

3、添加新類的的時候記得勾選上兩個Target

ios,target,ios開發環境,新建target

4、Target進行Duplicate的時候會復制所有的代碼。但是plist不共享。

源碼下載:

github下載地址:點擊這里

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。

 

注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富民县| 石阡县| 祁门县| 贡山| 临武县| 乌拉特中旗| 龙游县| 西充县| 沧源| 台中市| 老河口市| 满洲里市| 文成县| 隆昌县| 平邑县| 蓝山县| 美姑县| 博兴县| 上思县| 阳谷县| 湘潭市| 家居| 苗栗县| 阿克陶县| 安丘市| 手游| 张家川| 克山县| 海阳市| 湾仔区| 滁州市| 广平县| 寻乌县| 乌海市| 浦北县| 四川省| 亚东县| 郴州市| 临沧市| 黄陵县| 南宁市|