[React Native]使用App Center CLI發佈CodePush更新--iOS簡易版

面向

用RN開發iOS的小夥伴,而且想使用RN的熱更新功能,又不想在一大堆文檔裏翻來覆去的,能夠看看這個簡易版。以爲不錯的話能夠點個贊或關注。附上詳細版react

主要步驟

  1. 安裝App Center CLI: npm install -g appcenter-clinpm

  2. 建立App Center賬戶或使用appcenter login命令經過CLI登陸。這將啓動一個瀏覽器,要求您使用GitHub或Microsoft賬戶進行身份驗證。通過身份驗證後,它將建立一個「連接」到您的GitHub / MSA身份的CodePush賬戶,並生成一個訪問密鑰,您能夠將其複製/粘貼到CLI中以便登陸。react-native

  3. 在部署更新以前,您必須使用如下命令使用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 listbash

  4. 使用CodePush,應用程序自動進行兩次部署(Staging和Production)。在App Center中,您必須使用如下命令自行建立它們:app

appcenter codepush deployment add -a <ownerName>/<appName> Staging
appcenter codepush deployment add -a <ownerName>/<appName> Production
複製代碼
  1. 建立部署後,您可使用這兩種部署訪問部署密鑰,用於配置兩種部署環境。 appcenter codepush deployment list --displayKeyspost

  2. 安裝RNPM測試

    步驟 說明
    安裝 $ npm install rnpm -g
    安裝依賴 若是要安裝依賴項並在一次運行中連接它:$ rnpm install <name>
    連接依賴 若是您已經安裝了模塊(但未連接),請運行:$ rnpm link
  3. 安裝插件(iOS)ui

    步驟 說明
    步驟一 自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
  4. 基本使用以下this

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
複製代碼

而後就能夠看效果啦。

轉載請註明出處。

相關文章
相關標籤/搜索