react-native
appetize

React-NativeアプリをAppetizeで公開してみた

React-Nativeで作成したiOSアプリをAppetizeで公開するまでの、「私はこうやったらうまくいきました」を共有します。

進め方

このブログ記事にしたがって進めましたが、jsbundleを作るコマンドだけちょっとやり方が違います。
(記事通りだとうまくいかなかったので...)

私自身も初心者なので、やり方に誤りがあったら教えてくださると幸いです。
* ちなみに公開したもの
* ↑のソース

実際の手順

  1. Xcodeで[アプリ名].xcodeprojを開いてから、Build Schemeを"Release"に変更します。
    「Product」>「Scheme」>「Edit Scheme」>「Run」で、
    Build Configurationを"Release"に変更してください。

  2. オフラインバンドルを作成します。
    普段simulatorでデバッグしているときはPC上でJavaScriptを実行するサーバーを立ち上げていますが、
    アプリをリリースする場合(今回のようにAppetizeにソースコードを送る場合も)、アプリ自体にjsのソースコードを含める必要があります。
    以下のコマンドでjsbundleを作成します。

  3. アプリが参照するJavaScriptのコードを、オフラインバンドルに変更します。
    ios/[アプリ名]/AppDelegate.mをエディタで開き、以下の通りアンコメント/追記します。

// jsCodeLocation = [[RCTBundleURLProvider sharedSettings]jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
  1. 再びXcodeに戻り、Product > Cleanしてから Product > Buildを実施します。

  2. Buildした.appフォルダをzip化し、Appetizeにアップロードします。
    [アプリ名].appは、
    [ホーム]/Library/Xcode/DerivedData/[アプリ名(+アルファベットの文字列?)]/Build/Products/Release-iphonesimulator/[アプリ名].app
    にあります。

Screenshot 2017-07-16 15.54.49.png

まとめ

以上、React-NativeアプリをAppetizeに公開するまでの手順でした。
ご指摘あればぜひお願いいたします。