在開發(fā)中經(jīng)常會針對不同環(huán)境打包乔夯,在一部手機(jī)上安裝Debug砖织、Beta、AppStore等版本末荐,每次打包的時候侧纯,都得去更改BundleID(一部手機(jī)想要安裝不同版本,更改BundelID是關(guān)鍵)甲脏、域名眶熬,如果需要打出來的包顯示不同的名字不同的圖標(biāo)呢,這種方法肯定是不可取剃幌,那怎樣才能最快的在這幾種版本之間切換打包呢聋涨,XCode給了我們Configuration、Schemes來快速切換
一负乡、創(chuàng)建Build Configurations
默認(rèn)Xcode會提供2個Build配置項(Build Configuration):Debug和Release牍白。一般來說這樣兩種情況就足夠了,但是在有些時候我們需要添加一個或多個新的配置項抖棘,添加一個新的配置項的步驟如下:
1)茂腥、方式:選中PROJECT的名稱,然后選中Info切省,點擊Configurations下面的+選擇Duplicate "Debug"Configuration生成一個新Configuration,雙擊重命名configuration 最岗,修改如下圖:
二、創(chuàng)建 User-Defined Setting
在Xcode中使用User-Defined Setting可以定義一些Xcode編譯使用的宏配置朝捆,以便我們?yōu)椴煌呐渲媚軌蚍峙洳煌陌麵D般渡,圖標(biāo)名稱或AppID。
1、開啟User-Defined Setting驯用,如下圖:
2脸秽、這里添加了兩個:APP_BUNDLE_ID (APP Bundle ID)和APP_DISPLAY_NAME(APP的名稱)。
添加User-Defined Setting后蝴乔,編輯里面每個設(shè)置構(gòu)建配置值效果如下圖:
3.App Icon 設(shè)置在Assets 中 记餐,右鍵如圖 . 然后把之前準(zhǔn)備好的圖標(biāo)分別拖進(jìn)去:
](http://upload-images.jianshu.io/upload_images/2641792-cb08e3aae93e28c5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
將各版本和appIcon對應(yīng),顯示不同的圖標(biāo)
三薇正、修改Info.plist文件
所有在上一步中定義的User-Defined Setting將在項目的info.plist中使用片酝。修改info.plist,通過插入用戶自定義設(shè)置中定義的值挖腰。
Bundle identifiter(捆綁標(biāo)識符):$(APP_BUNDLE_ID)
Bundle display name(包顯示名稱):演示應(yīng)用$(APP_DISPLAY_NAME)
在這里說一下在模擬器/真機(jī)上顯示的名字是由Bundle Display Name決定的雕沿。默認(rèn)情況下Bundle Display Name就等同于Product Name,所以就造成了我認(rèn)為Product Name就是應(yīng)用顯示名的錯覺曙聂。
四晦炊、設(shè)置Macros鞠鲜,這樣通過判斷當(dāng)前狀態(tài)宁脊,選用不用域名
五、添加Scheme
記得選擇shared贤姆,以便同步
設(shè)置Scheme對應(yīng)的Configuration
六榆苞、設(shè)置完畢后,可選擇Scheme進(jìn)行Run霞捡,Debug,Beta編譯后進(jìn)入手機(jī)桌面坐漏,該工程將會有不同圖標(biāo)(這里沒有設(shè)置圖標(biāo)),名稱的App(
如果不想創(chuàng)建新的Scheme也可以不創(chuàng)建碧信,自己手動切換就可以了)