面向
用RN開發iOS的小夥伴,並且想使用RN的熱更新功能,又不想在一大堆文件裡翻來覆去的,可以看看這個簡易版。覺得不錯的話可以點個贊或關注。附上詳細版。
主要步驟
-
安裝App Center CLI:
npm install -g appcenter-cli
-
建立App Center帳戶或使用
appcenter login
命令通過CLI登入。這將啟動一個瀏覽器,要求您使用GitHub或Microsoft帳戶進行身份驗證。經過身份驗證後,它將建立一個“連結”到您的GitHub / MSA身份的CodePush帳戶,並生成一個訪問金鑰,您可以將其複製/貼上到CLI中以便登入。 -
在部署更新之前,您必須使用以下命令使用App Center建立應用程式:
appcenter apps create -d <appDisplayName> -o <operatingSystem> -p <platform>
例子: appcenter apps create -d MyApp-Android -o Android -p React-Native appcenter apps create -d MyApp-iOS -o iOS -p Cordova 複製程式碼
貼士:將你要操作的應用程式設定為
當前應用程式
使用,省事。appcenter apps set-current <ownerName>/<appName>
。 這樣可以把appcenter codepush deployment list -a <ownerName>/<appName>
可以將命令縮短為appcenter codepush deployment list
-
使用CodePush,應用程式自動進行兩次部署(Staging和Production)。在App Center中,您必須使用以下命令自行建立它們:
appcenter codepush deployment add -a <ownerName>/<appName> Staging
appcenter codepush deployment add -a <ownerName>/<appName> Production
複製程式碼
-
建立部署後,您可以使用這兩種部署訪問部署金鑰,用於配置兩種部署環境。
appcenter codepush deployment list --displayKeys
-
安裝RNPM
步驟 說明 安裝 $ npm install rnpm -g
安裝依賴 如果要安裝依賴項並在一次執行中連結它: $ rnpm install <name>
連結依賴 如果您已經安裝了模組(但未連結),請執行: $ rnpm link
-
安裝外掛(iOS)
步驟 說明 步驟一 自React Native v0.27起, rnpm link
已經合併到React Native CLI中。在專案中簡單地執行:react-native link react-native-code-push
步驟二 系統將提示您輸入要使用的部署金鑰。如果您還沒有它,可以通過執行 code-push deployment ls <appName> -k
檢索,或者您可以選擇忽略它(通過簡單地點選<ENTER>
)並在以後新增它。首先,我們建議您只使用Staging
部署金鑰,以便可以端到端地測試CodePush
。 -
基本使用如下
import codePush from "react-native-code-push";
export default class App extends React.Component {
componentDidMount() {
codepush.sync({ installMode: codepush.InstallMode.IMMEDIATE });
}
render() {
return (
<View style={{ backgroundColor: 'white', height: 100, marginTop: 100 }}>
<TouchableOpacity onPress={this.onButtonPress}>
<Text style={{ color: 'red' }}>Check for updates</Text>
</TouchableOpacity>
<Text style={{ marginTop: 30 }}>測試文字</Text>
</View>
)
}
onButtonPress() {
codepush.sync({
updateDialog: true,
installMode: codepush.InstallMode.IMMEDIATE
});
}
}
let codePushOptions = { checkFrequency: codepush.CheckFrequency.MANUAL }
App = codepush(codePushOptions)(App)
複製程式碼
最後,在裝置上編譯一下,這裡我只試過真機,然後你可以把‘測試文字’改為‘測試文字更改’,然後釋出更新
appcenter codepush release-react
沒有指定當前應用程式的用這個:
appcenter codepush release-react -a <ownerName>/<appName>
appcenter codepush release-react -a <ownerName>/MyApp-iOS
appcenter codepush release-react -a <ownerName>/MyApp-Android
複製程式碼
然後就可以看效果啦。
轉載請註明出處。