Staging:測(cè)試環(huán)境
Production:線上環(huán)境
code-push deployment history meeting_room_ios Staging //查詢開(kāi)發(fā)環(huán)境下的發(fā)布更新包歷史
code-push deployment history meeting_room_ios Production //查詢線上環(huán)境下的發(fā)布更新包歷史
code-push release-react <應(yīng)用名稱> <平臺(tái)> <對(duì)應(yīng)的應(yīng)用版本> --deploymentName: 更新環(huán)境 --description: 更新描述 --mandatory: 是否強(qiáng)制更新
//cd到package.json文件超埋,上傳測(cè)試環(huán)境下更新包
code-push release-react meeting_room_ios ios --t 4.0.0 --dev false --d Staging --des "這是第3個(gè)更新包" --m false
//cd到package.json文件挪蹭,上傳線上app的補(bǔ)丁包
code-push release-react meeting_room_ios ios --t 4.0.0 --dev false --d Production --des "這是第3個(gè)更新包" --m false
注意:現(xiàn)在打出的bundle后懒熙,添加到項(xiàng)目中不是添加bundle文件夾具钥,而是將文件夾內(nèi)的文件直接以refrense方式添加到項(xiàng)目中,不然Codepush找不到文件
app版本號(hào)必須為3位數(shù)趾娃,如:3.0.0
Code-push Xcode配置
1.package.json 文件中添加 "react-native-code-push": "^5.6.0”,執(zhí)行 npm install
2.podfile文件中添加pod 'CodePush', :path => '../node_modules/react-native-code-push’(路徑根據(jù)實(shí)際情況修改)臊泰,執(zhí)行pod install
3.AppDelegate.m中需改加載路徑,release環(huán)境修改為[CodePush bundleURL];注意:現(xiàn)在打出的bundle后同衣,添加到項(xiàng)目中不是添加bundle文件夾竟块,而是將文件夾內(nèi)的文件直接以refrense方式添加到項(xiàng)目中,不然Codepush找不到文件
4.點(diǎn)擊項(xiàng)目名-PROJECT-Info,在Configurations 中添加+耐齐,選擇Duplicate "Release" Configuration浪秘,取名Staging
5.選擇PROJECT-Build Settings,Build Location > Per-configuration Build Products Path > Staging埠况,修改Staging的值(CONFIGURATION)
(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)
6.選擇【TARGETS】-Build-Seeting-Add User-Defined Setting,添加一個(gè)key為CODEPUSH_KEY,里面的值填寫(xiě)Release對(duì)應(yīng)的和Staging對(duì)應(yīng)的的值耸携,在平臺(tái):XXXX
上有該應(yīng)用的Production和Staging的key值,Production對(duì)應(yīng)的是線上環(huán)境app的key,Staging是測(cè)試使用的key值,
7.打開(kāi)Info.plist文件辕翰,添加一個(gè)key為:CodePushDeploymentKey夺衍,值為:$(CODEPUSH_KEY),
添加一個(gè)key為:CodePushServerURL喜命,值為:[http://xxx.xxx.xx.xxx:xxxx]
8:使用cocoapod安裝的需要修改【TARGET】-Build-Seeting-[PODS_CONFIGURATION_BUILD_DIR]-Staging的值為:(EFFECTIVE_PLATFORM_NAME)
9.測(cè)試打包時(shí)沟沙,需要使用測(cè)試熱更新環(huán)境時(shí)河劝,先將項(xiàng)目clear一下,在改為release環(huán)境編譯矛紫,編譯成功后改為Staging赎瞎,【直接使用Staging編譯可能會(huì)報(bào)錯(cuò)】【注:熱更新的測(cè)試環(huán)境需要在【edit-scheme】-[Run]-Build Configuration-[Staging],打線上環(huán)境需要將此處改為Release,如果報(bào)錯(cuò):libraries not found for "staging”見(jiàn):【https://github.com/Microsoft/react-native-code-push/issues/426】