React Nativeプロジェクトの更新
3526 ワード
次に、アプリケーション内のバージョンの更新が可能なReact NativeのプラグインCodePushについて説明します.
このプラグインは、マイクロソフトが開発者向けに提供するツールです.プロジェクト詳細アドレスはプロジェクトgithubをスタンプしてください
使用する場合は、RNバージョンは>=0.15である必要があります.低バージョンRNこのコンポーネントのサポートにはいくつかの問題がありますが、開発者は低バージョンをサポートする準備ができていません.
プログラム呼び出しの前に、
ここではまずcode-pushコマンドでアプリケーションを作成する必要があります.作成後に適用されるDeployment Keyがあります.この値はInfo.plistで設定します.info.plistにCodePushDeploymentKeyを追加し、上記のkey値に設定します.Infoも必要だplilstにbundleVersion値を追加するには、1.0.10などの小さなバージョン番号に具体的に指定する必要があります.
linkの後、必要なパケットと処理方法は
MyDemo(iOSプラットフォーム)とMyDemo-android(Androidプラットフォーム)の2つのCodePushアプリケーションがそれぞれ作成されています.対応するディレクトリreleaseとrelease_Androidは先に作成する必要があります.
パッケージのディレクトリも違いますので注意してください.静的リソースの問題に関連します.
マイクロソフトのこのコンポーネントを除いて.AppHubでバージョンを管理することもできます.AppHubは、RN、cordovaなどのアプリケーションに対する有料の管理プラットフォームです.
推奨:RNToolsはReact Native記事、インスタンスコード、サードパーティモジュールを共有するプラットフォームです.RNTools公式サイトリンクRNToolsアプリケーションダウンロード
このプラグインは、マイクロソフトが開発者向けに提供するツールです.プロジェクト詳細アドレスはプロジェクトgithubをスタンプしてください
使用する場合は、RNバージョンは>=0.15である必要があります.低バージョンRNこのコンポーネントのサポートにはいくつかの問題がありますが、開発者は低バージョンをサポートする準備ができていません.
インストール
1)iOSプラットフォームのインストール
npm install react-native-code-push
node_modules/react-native-code-push CodePush.xcodeproj Xcode Libraries 。
Build Phases libCodePush.a libz.tbd
Header Search Paths , $(SRCROOT)/../node_modules/react-native-code-push
2)Androidプラットフォームのインストール
react-native link react-native-code-push
: link 。 settings.gradle :
project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app')
プログラム呼び出し
プログラム呼び出しの前に、
code-push
でアプリケーションを作成する必要があります.iOSとAndroidプラットフォームの2つを作成することをお勧めします.1)iOSでの呼び出し
AppDelegate.m CodePush.h
jsCodeLocation [CodePush bundleURL]
ここではまずcode-pushコマンドでアプリケーションを作成する必要があります.作成後に適用されるDeployment Keyがあります.この値はInfo.plistで設定します.info.plistにCodePushDeploymentKeyを追加し、上記のkey値に設定します.Infoも必要だplilstにbundleVersion値を追加するには、1.0.10などの小さなバージョン番号に具体的に指定する必要があります.
2)Androidで呼び出す
linkの後、必要なパケットと処理方法は
MainActivity.java
にインポートされます.code-push
関連のコードがない場合.手動でインポートします.import com.microsoft.codepush.react.CodePush;
@Override protected void onCreate(Bundle savedInstanceState) {
... //
CodePush codePush = new CodePush("xxx", this, BuildConfig.DEBUG);
...
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
...
// --> .setBundleAssetName("index.android.bundle")
// :
.setJSBundleFile(codePush.getBundleUrl("index.android.bundle"))
//
.addPackage(codePush.getReactPackage())
android/app/build.gradle
ディレクトリのバージョン情報を次のように変更します.android {
...
defaultConfig {
...
versionName "1.0.10"
...
}
...
}
アップグレード操作
MyDemo(iOSプラットフォーム)とMyDemo-android(Androidプラットフォーム)の2つのCodePushアプリケーションがそれぞれ作成されています.対応するディレクトリreleaseとrelease_Androidは先に作成する必要があります.
mkdir release release_android
1)iOSのアップグレード
react-native bundle --platform ios --entry-file index.ios.js --bundle-output ./release/main.jsbundle --assets-dest ./release --dev false
code-push release MyDemo ./release/main.jsbundle 1.0.10
: 1.0.10 bundleVersion , , 。
2)Androidのアップグレード
react-native bundle --platform android --entry-file index.android.js --bundle-output ./release_android/main.jsbundle --assets-dest ./release_android --dev false
code-push release MyDemo-android ./release_android/main.jsbundle 1.0.10
パッケージのディレクトリも違いますので注意してください.静的リソースの問題に関連します.
RNではJSで以下の操作が可能です
chekForUpdate
getCurrentPackage
notifyApplicationReady
restartApp ,
sync , 。
マイクロソフトのこのコンポーネントを除いて.AppHubでバージョンを管理することもできます.AppHubは、RN、cordovaなどのアプリケーションに対する有料の管理プラットフォームです.
推奨:RNToolsはReact Native記事、インスタンスコード、サードパーティモジュールを共有するプラットフォームです.RNTools公式サイトリンクRNToolsアプリケーションダウンロード