2016-02-18 36 views
39

私は以前のiOS開発の経験なしにネイティブ開発に反応するようになりました。私はリリース.IPAファイルをビルドしたい - 理想的にはコマンドラインから公式の文書Running On Deviceは非常に短いです。React Nativeの.IPAを構築するには?

XCode経由でiPhoneに手動でアプリケーションをデプロイできましたが、まだ「リリースIPA」ファイルが見つかりませんでした。私はコードを#ifdef DEBUGディレクティブで更新してより一般的にしました。

リリースモードでアプリケーションをコマンドライン経由でのみビルドする方法はありますか?そうでない場合、RNアプリケーションを生成する "公式"の方法は何ですか?

私は現在RN 0.20を使用しています。

+0

の可能性のある重複した[コマンドラインから反応するネイティブアプリケーションを構築、配備する方法?](http://stackoverflow.com/questions/32885433/how-to-build-and-deploy- a-react-native-app-from-command-line) –

+0

私が既に言及したように、すでに '#ifdef'トリックを使用しています。不幸にも、もう一つの質問はそれを構築する方法について言及していません(ただし、 'fastlane 'で可能でした)。 – sodik

答えて

34

まず、あなたは、バンドルをこの方法で作成する必要があります。

react-native bundle --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle --platform ios 

その後、あなたはAppDelegate.mでこの行をコメントする必要があります。

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; 

とコメントを解除し、この1:

jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 

次に、Xcodeで[製品] - > [アーカイブ]を選択し、希望のリリースに基づいて手順に従います

+1

アーカイブのどこに.ipaファイルがありますか? – sodik

+0

アーカイブしたら、うまく呼び出すとIPAファイルを保存できます。アーカイブビルドが成功したときに表示されるポップアップウィンドウからXCode 7.2.1の –

+0

では、いくつかのファイルを含むディレクトリを作成しましたが、IPAファイルは作成されませんでした。 – sodik

13

私はそれが正しいですが、あなたはそれが動作するために、次のコマンドで起動する必要があり、上記の答えに をコメントすることはできません。

react-native bundle --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle --platform ios 

違いではなく、「iOSの」の「IOS」です

いない場合には、次のエラーを与える:

ProjectPath/node_modules/promise/lib/done.js:10 
    throw err; 
^
+0

あなたはどの回答に応答していますか? "above"は相対的です –

13

あなたがリリースするスキームを設定する必要があります。

ドキュメントには2通りの方法があります。

To do this, go to Product → Scheme → Edit Scheme (cmd + <), make sure you're in the Run tab from the side, and set the Build Configuration dropdown to Release.

または

You can also use the React Native CLI to perform this operation using the option --configuration with the value Release (e.g. react-native run-ios --configuration Release).

その後、あなたはいつものようにあなたのアーカイブを生成することができます。

https://facebook.github.io/react-native/docs/running-on-device.html#building-your-app-for-production

+4

これは正しい最新の回答です。他のものは古いです – jperelli

関連する問題