? ? ? ?需求:目前公司的兩款產品,共用相同代碼,只有AppIcon、LaunchImage等部分圖片資源不同,每次打包都要手動修改圖片和displayName等,目前需要整合打包流程,實現自動替換資源,同時避免人工操作出現的bug。
? ? ? ?解決思路:使用Xcode不同的target來區分版本。
? ? ? 第一步:新建target:
? ? ?(1)雙指點擊TARGETS--->Duplicate-->選擇DuplicateOnly
? ? ? ? (2)創建成功后Xcode會復制原來項目target生成一個xxx copy對象(圖片中Project copy),并生成一個xxxx copy-Info.plist文件(圖片中的Project copy-Info.plist)。
? ? ? ? 第二步:創建新項目文件,修改新生成的plist文件路徑,注意新項目添加路徑及target選擇(如圖)
? ? ? ? 第三步:修改target、info.plist、ProductName、Bundle identifier、scheme名稱及新項目的plist相對路徑。
? ? ? ? (1)、target、info.plist、ProductName、Bundle identifier.
? ? ? ? (2)修改scheme
? ? ? ? (3)修改新項目plist文件相對路徑
? ? ? ? (4)查看plist文件路徑是否正確
? ? ? ? 第四步:新建NewProjectAssets.xcassets文件夾,更換新項目啟動圖(AppIcon),桌面圖標(AppIcon)。
? ? ? ? ??NewProject需要將.xcassets在 Build Phases -->Copy Bundle Resources添加依賴關系。(注意兩個項目以后添加文件的依賴關系,需同步修改)
? ? ? ? 結果:無論打包還是運行都可以在這里選擇。
擴展:
(1)可創建三個.xcassets文件,兩個私有文件,一個基類,便于管理且減少冗余。
(2)可以定義預編譯宏,來區分兩個版本的不同代碼。