iOS開發 - 一個工程多環境切換,適合需要經常打很多不同環境包的人

來源:互聯網
上載者:User

經小夥伴提出問題,swift項目下,以下配置無效,所以博主經過研究實踐確定swift配置和oc的稍有差別,如果你是swift項目,請移步swift版本:點擊前往
不知道你是否需要經常打包。各種包,測試服,正式服,開發服等等,每次都需要注釋開啟不同的網域名稱,有時候一不小心忘記了還有可能造成不小的損失,如何規範的來管理這些環境呢。博主今天就教大家怎麼把不同的環境區分開,只需要選擇對應的target就可以切換不同的環境:
1.我們先來建一個空的工程,名字叫Hello;

2.建立好工程後,選中我們的target,右鍵:

3.我們假設需要正式環境,開發環境和測試環境三個環境,原來的target就是正式環境,所以需要建立額外兩個target,連續操作兩次後:

4.到這一步後,就建立好了,然後改名:

5.改完名後,左邊對應的plist檔案名稱字也改下,然後回到對應target上,因為plist名字改了,所以找不到了,點擊choese。。。。按鈕,選擇對應的plist檔案。
完事後,因為有三個target,建立檔案時多次勾選也不方便:

6.所以在這裡要建立一個lib檔案,統籌管理:

7.點開後拖到最下面:

8.點擊next後輸入名字,叫HelloLib吧,然後選中target:

9.把剛建立的lib加進去

10.這時候你會發現schemes裡面的target名字還沒有對應:

11.這裡把所有的項刪除,點“-”。刪除完成後,再點“+”就出來了,刪了幾次就要加幾次哦。

12.完成之後關閉,然後建立新的檔案時記得勾選lib檔案,不要再勾選target了,但是Appdelegate檔案不用動,因為這裡是起源,當然,如果勾選lib,不勾選target也可以,目前沒什麼影響
這裡注意,只有m檔案可以勾選,h檔案不可以哦。


13.到這裡還沒結束,不同的環境我們建立好了,但是選擇對應target後對應不同的網域名稱我們還沒配置,在build setting中輸入Preprocessing:

14.看到紅色框圈起來的那個了麼,因為目前選中的是正式的target,所以這裡不需要填,預設是DEBUG=1,不要碰,然後選中Dev和Text的,分別增加DEV=1,TEST=1,名字隨便寫,後面會用到,

15.操作完後,到Appdelegate中,在方法中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{#ifdef DEBUG    url = @"http://bbbbbbbbbbbbbbb";#elif DEV    url = @"http://cccccccccccccc";#elif TEST    url = @"http://dddddddddddddd";#endif//這裡不管是設定rootViewController還是通過故事板啟動都可以哦,}


16.你可以在schemes中切換target,在哪個target下,哪個定義下的url就是有顏色的(切換完target時需要來回切換檔案才能看到對應的url顏色改變,要不然還是之前的url變色,可能是Xcode的問題吧,偶現問題,正常切換後顏色就會變化)

這時候一個不含pod的多target工程就已經完成了,切記在建立檔案時需要勾選lib檔案,引入第三方時也需要哦。

17.以上工程不包含pod,但是現在因為第三方頻繁使用,所以大量的第三方不可能放進工程中,這裡建立pod也需要注意一點,先建立好pod的workspace吧,然後博主來說明怎麼配置Podfile檔案:

如圖,每一個target下都要加入你需要的庫,一個都不能少,完成之後你的項目就可以引入AF的標頭檔了,到此,一個完整的多Target工程就建立完畢了,如果你的是已有項目,步驟不變哦,不過要改變下勾選狀態。有問題可以留言或加群討論哦。


這裡還有一個坑忘記說了,你可能在編譯的時候說報錯了,缺少pod檔案,不要慌,把你的pod檔案,lib檔案編譯一下,產生.a檔案再編譯你的工程就可以了。

最後附博主操作的Demo,大家可以對照下看看。點擊前往下載

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.