iOS項目之多Targets和多環境配置


  項目中使用的同一套代碼,但需要開發多個app,app中內容基本上相同,只有一些小小的區別,例如名稱等等,每個app中又需要分開發環境(Dev)、測試環境(Test)、正式環境(Pro)。

  下面就開始搭建這樣的配置:

  第一步,對目標target進行復制(Duplicate)

        

  如果當前項目為iPhone項目的話,會出現下面的提示

    

  這里只需要復制iPhone項目,所以選擇 “Duplicate Only”。

  此時在項目中會增加兩個東西:

    

  為了便於區分,這里對相應target和plist進行重命名,修改后如下圖:

    

  第二步,對target重新配置plist文件

   

  第三步,新增配置環境

 

  這里添加開發、測試、正式三個環境,最終效果如圖

  

  第四步,新增Scheme,用來配置環境,這里直接選擇Manage Schemes進行設置

    

  在設置界面新增Scheme,選擇相應的target,並設置Scheme的名稱

 

  勾選需要顯示的Scheme

 

  分別對不同的Scheme進行配置

 

  第五步,新增自定義設置

 

  配置不同的bundleIdentifier和bundleName

  

  修改info.plist文件中的bundleIdentifier和bundleName

  

  對TargetTwo進行重復以上操作

  

  第六步,添加環境變量參數

  

  TargetOne項目的環境變量參數設置為:dev=1,test=2,pro=3

  

  TargetTwo項目的環境變量參數設置為:dev=4,test=5,pro=6

  

  第七步,分別設置pch文件和環境配置文件

  

  在環境配置文件中可以設置不同的BASE_URL之類的參數等等

  分別在不同的target中設置pch文件的引用

  

  第八步,配置Podfile文件 

platform :ios, '9.0' 

def normalPod

  pod 'MJRefresh'
  pod 'AFNetworking'

end

def otherPod

  pod 'Masonry'

end

target 'TargetOne' do 
   normalPod
end 

target 'TargetTwo' do 
  normalPod 
  otherPod
end 

  可參考以上代碼,根據自己的需要進行修改,然后 pod install 

  第九步,設置不同的Assets.xcassets和LaunchScreen.storyboard等,在不同target中有差異的文件(因項目而異)

  

  這里以 Assets.xcassets 為例:

  選擇該文件后,可以在右側的 Target Membership 中進行勾選需要在哪個target中使用。如果需要區分的話,再新增一個 Assets 文件,分別引用到不同的 target 中就OK了。

  大功告成,看看效果吧:

 

 

 

   GitHub:https://github.com/sjxjjx/TargetsAndEnvironments


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM