デバイスでの実行
ユーザーにリリースする前に、実際のデバイスでアプリをテストすることをお勧めします。このドキュメントでは、React Nativeアプリをデバイスで実行し、本番環境の準備を整えるために必要な手順を説明します。
プロジェクトの設定にcreate-expo-app
を使用した場合は、npm start
を実行したときに表示されるQRコードをスキャンして、Expo Goでデバイス上でアプリを実行できます。詳細については、デバイスでのプロジェクト実行に関するExpoガイドを参照してください。デバイスでのプロジェクトの実行
- Android
- iOS
Androidデバイスでのアプリの実行
開発OS
- macOS
- Windows
- Linux
1. USB経由でのデバッグを有効にする
ほとんどのAndroidデバイスは、デフォルトではGoogle Playからダウンロードしたアプリのみをインストールして実行できます。開発中にアプリをインストールするには、デバイスでUSBデバッグを有効にする必要があります。
デバイスでUSBデバッグを有効にするには、まず「開発者向けオプション」メニューを有効にする必要があります。**設定** → **端末情報** → **ソフトウェア情報** の順に移動し、一番下の`ビルド番号`行を7回タップします。その後、**設定** → **開発者向けオプション** に戻って「USBデバッグ」を有効にします。
2. USB経由でデバイスを接続する
それでは、Androidデバイスを設定してReact Nativeプロジェクトを実行しましょう。USB経由でデバイスを開発マシンに接続してください。
adb devices
を実行して、デバイスがADB(Android Debug Bridge)に正しく接続されていることを確認してください。
$ adb devices
List of devices attached
emulator-5554 offline # Google emulator
14ed2fcc device # Physical device
右側の列にdevice
と表示されている場合、デバイスは接続されています。一度に**1つのデバイスのみ接続**する必要があります。
リストにunauthorized
と表示される場合は、adb reverse tcp:8081 tcp:8081
を実行し、デバイスでUSBデバッグを許可する必要があります。
3. アプリを実行する
プロジェクトのルートから、コマンドプロンプトで次のコマンドを入力して、デバイスにアプリをインストールして起動します。
- npm
- Yarn
npm run android
yarn android
「bridge configuration isn't available」エラーが発生した場合は、adb reverseの使用を参照してください。
ヒント:
React Native CLI
を使用して、リリースビルドを生成して実行することもできます(例:プロジェクトのルートから:yarn android --mode release
)。
開発サーバーへの接続
USBケーブルまたはWi-Fiネットワークのどちらにアクセスできるかによって、開発マシンで実行されている開発サーバーに接続して、デバイス上で迅速に反復処理することもできます。
方法1:adb reverseを使用する(推奨)
デバイスがAndroid 5.0(Lollipop)以降を実行しており、USBデバッグが有効になっていて、USB経由で開発マシンに接続されている場合は、この方法を使用できます。
コマンドプロンプトで次のコマンドを実行します。
$ adb -s <device name> reverse tcp:8081 tcp:8081
デバイス名を確認するには、次のadbコマンドを実行します。
$ adb devices
開発者メニューから高速リフレッシュを有効にできます。JavaScriptコードが変更されるたびに、アプリが再読み込みされます。
方法2:Wi-Fi経由で接続する
Wi-Fi経由で開発サーバーに接続することもできます。最初にUSBケーブルを使用してデバイスにアプリをインストールする必要がありますが、インストールが完了したら、次の手順に従ってワイヤレスでデバッグできます。続行する前に、開発マシンの現在のIPアドレスが必要です。
**システム設定(またはシステム環境設定)** → **ネットワーク**でIPアドレスを確認できます。
- ラップトップと携帯電話が同じWi-Fiネットワークに接続されていることを確認してください。
- デバイスでReact Nativeアプリを開きます。
- エラーが表示された赤い画面が表示されます。これは問題ありません。次の手順で修正できます。
- アプリ内の開発者メニューを開きます。
- **開発者設定** → **デバイスのデバッグサーバーホストとポート**を選択します。
- マシンのIPアドレスとローカル開発サーバーのポートを入力します(例:
10.0.1.1:8081
)。 - **開発者メニュー**に戻り、**JSを再読み込み**を選択します。
開発者メニューから高速リフレッシュを有効にできます。JavaScriptコードが変更されるたびに、アプリが再読み込みされます。
本番環境向けアプリのビルド
React Nativeを使用して素晴らしいアプリを構築し、Playストアでリリースしたいと考えています。このプロセスは他のネイティブAndroidアプリと同じですが、考慮すべき点がいくつかあります。署名付きAPKの生成に関するガイドに従って、詳細をご確認ください。
1. USB経由でのデバッグを有効にする
ほとんどのAndroidデバイスは、デフォルトではGoogle Playからダウンロードしたアプリのみをインストールして実行できます。開発中にアプリをインストールするには、デバイスでUSBデバッグを有効にする必要があります。
デバイスでUSBデバッグを有効にするには、まず「開発者向けオプション」メニューを有効にする必要があります。**設定** → **端末情報** → **ソフトウェア情報** の順に移動し、一番下の`ビルド番号`行を7回タップします。その後、**設定** → **開発者向けオプション** に戻って「USBデバッグ」を有効にします。
2. USB経由でデバイスを接続する
それでは、Androidデバイスを設定してReact Nativeプロジェクトを実行しましょう。USB経由でデバイスを開発マシンに接続してください。
adb devices
を実行して、デバイスがADB(Android Debug Bridge)に正しく接続されていることを確認してください。
$ adb devices
List of devices attached
emulator-5554 offline # Google emulator
14ed2fcc device # Physical device
右側の列にdevice
と表示されている場合、デバイスは接続されています。一度に**1つのデバイスのみ接続**する必要があります。
3. アプリを実行する
プロジェクトのルートから、コマンドプロンプトで次のコマンドを入力して、デバイスにアプリをインストールして起動します。
- npm
- Yarn
npm run android
yarn android
ヒント:
React Native CLI
を使用して、リリースビルドを生成して実行することもできます(例:プロジェクトのルートから:yarn android --mode release
)。
開発サーバーへの接続
USBケーブルまたはWi-Fiネットワークのどちらにアクセスできるかによって、開発マシンで実行されている開発サーバーに接続して、デバイス上で迅速に反復処理することもできます。
方法1:adb reverseを使用する(推奨)
デバイスがAndroid 5.0(Lollipop)以降を実行しており、USBデバッグが有効になっていて、USB経由で開発マシンに接続されている場合は、この方法を使用できます。
コマンドプロンプトで次のコマンドを実行します。
$ adb -s <device name> reverse tcp:8081 tcp:8081
デバイス名を確認するには、次のadbコマンドを実行します。
$ adb devices
開発者メニューから高速リフレッシュを有効にできます。JavaScriptコードが変更されるたびに、アプリが再読み込みされます。
方法2:Wi-Fi経由で接続する
Wi-Fi経由で開発サーバーに接続することもできます。最初にUSBケーブルを使用してデバイスにアプリをインストールする必要がありますが、インストールが完了したら、次の手順に従ってワイヤレスでデバッグできます。続行する前に、開発マシンの現在のIPアドレスが必要です。
コマンドプロンプトを開き、ipconfig
と入力してマシンのIPアドレスを確認します。詳細はこちら。
- ラップトップと携帯電話が同じWi-Fiネットワークに接続されていることを確認してください。
- デバイスでReact Nativeアプリを開きます。
- エラーが表示された赤い画面が表示されます。これは問題ありません。次の手順で修正できます。
- アプリ内の開発者メニューを開きます。
- **開発者設定** → **デバイスのデバッグサーバーホストとポート**を選択します。
- マシンのIPアドレスとローカル開発サーバーのポートを入力します(例:
10.0.1.1:8081
)。 - **開発者メニュー**に戻り、**JSを再読み込み**を選択します。
開発者メニューから高速リフレッシュを有効にできます。JavaScriptコードが変更されるたびに、アプリが再読み込みされます。
本番環境向けアプリのビルド
React Nativeを使用して素晴らしいアプリを構築し、Playストアでリリースしたいと考えています。このプロセスは他のネイティブAndroidアプリと同じですが、考慮すべき点がいくつかあります。署名付きAPKの生成に関するガイドに従って、詳細をご確認ください。
1. USB経由でのデバッグを有効にする
ほとんどのAndroidデバイスは、デフォルトではGoogle Playからダウンロードしたアプリのみをインストールして実行できます。開発中にアプリをインストールするには、デバイスでUSBデバッグを有効にする必要があります。
デバイスでUSBデバッグを有効にするには、まず「開発者向けオプション」メニューを有効にする必要があります。**設定** → **端末情報** → **ソフトウェア情報** の順に移動し、一番下の`ビルド番号`行を7回タップします。その後、**設定** → **開発者向けオプション** に戻って「USBデバッグ」を有効にします。
2. USB経由でデバイスを接続する
それでは、Androidデバイスを設定してReact Nativeプロジェクトを実行しましょう。USB経由でデバイスを開発マシンに接続してください。
次に、lsusb
を使用して製造元コードを確認します(Macでは、最初にlsusbをインストールする必要があります)。lsusb
は次のような出力を生成します。
$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 22b8:2e76 Motorola PCS
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
これらの行は、現在マシンに接続されているUSBデバイスを表しています。
携帯電話を表す行が必要です。不明な場合は、携帯電話の接続を解除してコマンドを再実行してみてください。
$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
携帯電話を削除した後、携帯電話のモデル(この場合は「Motorola PCS」)を含む行がリストから消えていることがわかります。これが重要な行です。
Bus 001 Device 003: ID 22b8:2e76 Motorola PCS
上記の行から、デバイスIDの先頭4桁を取得する必要があります。
22b8:2e76
この場合は22b8
です。これはMotorolaの識別子です。
起動するには、これをudevルールに入力する必要があります。
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/51-android-usb.rules
22b8
を上記のコマンドで取得した識別子に置き換えてください。
adb devices
を実行して、デバイスがADB(Android Debug Bridge)に正しく接続されていることを確認してください。
$ adb devices
List of devices attached
emulator-5554 offline # Google emulator
14ed2fcc device # Physical device
右側の列にdevice
と表示されている場合、デバイスは接続されています。一度に**1つのデバイスのみ接続**する必要があります。
3. アプリを実行する
プロジェクトのルートから、コマンドプロンプトで次のコマンドを入力して、デバイスにアプリをインストールして起動します。
- npm
- Yarn
npm run android
yarn android
「bridge configuration isn't available」エラーが発生した場合は、adb reverseの使用を参照してください。
ヒント:
React Native CLI
を使用して、リリースビルドを生成して実行することもできます(例:プロジェクトのルートから:yarn android --mode release
)。
開発サーバーへの接続
USBケーブルまたはWi-Fiネットワークのどちらにアクセスできるかによって、開発マシンで実行されている開発サーバーに接続して、デバイス上で迅速に反復処理することもできます。
方法1:adb reverseを使用する(推奨)
デバイスがAndroid 5.0(Lollipop)以降を実行しており、USBデバッグが有効になっていて、USB経由で開発マシンに接続されている場合は、この方法を使用できます。
コマンドプロンプトで次のコマンドを実行します。
$ adb -s <device name> reverse tcp:8081 tcp:8081
デバイス名を確認するには、次のadbコマンドを実行します。
$ adb devices
開発者メニューから高速リフレッシュを有効にできます。JavaScriptコードが変更されるたびに、アプリが再読み込みされます。
方法2:Wi-Fi経由で接続する
Wi-Fi経由で開発サーバーに接続することもできます。最初にUSBケーブルを使用してデバイスにアプリをインストールする必要がありますが、インストールが完了したら、次の手順に従ってワイヤレスでデバッグできます。続行する前に、開発マシンの現在のIPアドレスが必要です。
ターミナルを開き、/sbin/ifconfig
と入力してマシンのIPアドレスを確認します。
- ラップトップと携帯電話が同じWi-Fiネットワークに接続されていることを確認してください。
- デバイスでReact Nativeアプリを開きます。
- エラーが表示された赤い画面が表示されます。これは問題ありません。次の手順で修正できます。
- アプリ内の開発者メニューを開きます。
- **開発者設定** → **デバイスのデバッグサーバーホストとポート**を選択します。
- マシンのIPアドレスとローカル開発サーバーのポートを入力します(例:
10.0.1.1:8081
)。 - **開発者メニュー**に戻り、**JSを再読み込み**を選択します。
開発者メニューから高速リフレッシュを有効にできます。JavaScriptコードが変更されるたびに、アプリが再読み込みされます。
本番環境向けアプリのビルド
React Nativeを使用して素晴らしいアプリを構築し、Playストアでリリースしたいと考えています。このプロセスは他のネイティブAndroidアプリと同じですが、考慮すべき点がいくつかあります。署名付きAPKの生成に関するガイドに従って、詳細をご確認ください。
iOSデバイスでのアプリの実行
開発OS
- macOS
- Windows
- Linux
1. USB経由でデバイスを接続する
USB to LightningまたはUSB-Cケーブルを使用してiOSデバイスをMacに接続します。プロジェクトのios
フォルダに移動し、Xcodeを使用して.xcodeproj
ファイル(CocoaPodsを使用している場合は.xcworkspace
ファイル)を開きます。
iOSデバイスで初めてアプリを実行する場合は、開発用にデバイスを登録する必要がある場合があります。Xcodeのメニューバーから**Product**メニューを開き、**Destination**を選択します。リストからデバイスを探して選択します。その後、Xcodeによってデバイスが開発用に登録されます。
2. コード署名の設定
まだお持ちでない場合は、Apple Developerアカウントに登録してください。
Xcodeのプロジェクトナビゲーターでプロジェクトを選択し、メインターゲットを選択します(プロジェクト名と同じ名前になります)。「General」タブを探します。「Signing」に移動し、「Team」ドロップダウンでApple Developerアカウントまたはチームが選択されていることを確認します。テストターゲット(末尾にTestsと付き、メインターゲットの下にあります)についても同様に行います。
プロジェクトの**Tests**ターゲットについても、この手順を**繰り返す**必要があります。
3. アプリのビルドと実行
すべて正しく設定されている場合、デバイスはXcodeツールバーのビルドターゲットとして表示され、デバイスペイン(Shift ⇧ + Cmd ⌘ + 2)にも表示されます。これで、**ビルドと実行**ボタン(Cmd ⌘ + R)を押すか、**Product**メニューから**Run**を選択できます。すぐにデバイスにアプリが起動します。
問題が発生した場合は、Appleのデバイスへのアプリの起動ドキュメントを参照してください。
開発サーバーへの接続
開発サーバーを使用して、デバイス上で迅速に反復処理することもできます。コンピューターと同じWi-Fiネットワーク上にいるだけで済みます。Devメニューを開くにはデバイスを振ってから、高速リフレッシュを有効にします。JavaScriptコードが変更されるたびに、アプリが再読み込みされます。
トラブルシューティング
問題が発生した場合は、Macとデバイスが同じネットワーク上にあり、互いに到達できることを確認してください。多くのオープンワイヤレスネットワークでは、キャプティブポータルを使用して、デバイスがネットワーク上の他のデバイスに到達できないように構成されています。この場合は、デバイスのパーソナルホットスポット機能を使用できます。また、USB経由でMacからデバイスにインターネット(Wi-Fi/Ethernet)接続を共有し、このトンネルを通してバンドラーに接続して、非常に高速な転送速度を実現することもできます。
開発サーバーに接続しようとすると、エラーが表示された赤い画面が表示される場合があります。
https://#:8081/debugger-proxy?role=client
への接続がタイムアウトしました。ノードプロキシを実行していますか?デバイスで実行している場合は、RCTWebSocketExecutor.m
に正しいIPアドレスがあるかどうかを確認してください。
この問題を解決するには、次の点をチェックしてください。
1. Wi-Fiネットワーク
ラップトップと携帯電話が同じWi-Fiネットワークに接続されていることを確認してください。
2. IPアドレス
ビルドスクリプトでマシンのIPアドレス(例:10.0.1.123
)が正しく検出されていることを確認してください。
**Report navigator**タブを開き、最新の**Build**を選択し、IP=
の後にIPアドレスが続くものを検索します。アプリに埋め込まれるIPアドレスは、マシンのIPアドレスと一致する必要があります。
本番環境向けアプリのビルド
React Nativeを使用して素晴らしいアプリを構築し、App Storeでリリースしようとしています。プロセスは他のネイティブiOSアプリと同じですが、考慮すべき追加事項がいくつかあります。詳細については、Apple App Storeへの公開に関するガイドを参照してください。
iOSデバイス向けアプリをビルドするには、Macが必要です。または、環境設定ガイドを参照して、Expo CLIを使用してアプリをビルドする方法を学ぶことができます。これにより、Expoクライアントアプリを使用してアプリを実行できます。
iOSデバイス向けアプリをビルドするには、Macが必要です。または、環境設定ガイドを参照して、Expo CLIを使用してアプリをビルドする方法を学ぶことができます。これにより、Expoクライアントアプリを使用してアプリを実行できます。