コマンドラインから直接iOSデバイスで反応ネイティブアプリケーションを実行しますか?


103

シミュレータで行うように、コマンドラインから直接iOSデバイスで反応ネイティブアプリケーションを実行することは可能react-native run ios --simulator "iPhone 5s"ですか?

回答:


229

以下は私のために働きました(反応ネイティブ0.38とでテストされました0.40):

npm install -g ios-deploy
# Run on a connected device, e.g. Max's iPhone:
react-native run-ios --device "Max's iPhone"

を実行しようとするとrun-iosnpm install -g ios-deployビルド後にインストール手順に達したときにスクリプトが実行を推奨することがわかります。

react-nativeが提供するさまざまなコマンドに関するドキュメントは少し大雑把ですが、react-native / local-cliに行く価値はあります。そこでは、利用可能なすべてのコマンドとそれらが実行するコードを見ることができます-したがって、文書化されていないコマンドに対してどのスイッチが利用できるかを知ることができます。


2
のようなものが表示されている場合ios deploy does not support the following options: id、おそらく私のようにあなたのiPhoneはiOSベータ版を実行しており、Xcodeのベータ版を使用する必要があります。試してくださいsudo xcode-select -s /Applications/Xcode-beta.app(正しいXcodeベータ版アプリがインストールされていると仮定します)。
paulvs 2017年

50
私にとってはreact-native run-ios --device機能し、上記のコマンドは機能しませんでした
narek '27 / 12/27

11
実行後にエラーが発生した場合は、実行npm install -g ios-deployしてみてください sudo npm install -g ios-deploy --unsafe-perm=true --allow-root
Eric Wiener

5
デバイスのUDIDを使用して、iOSデバイスのリリース構成でモバイルアプリケーションを実行できることに注意してください(英語以外の文字を含むデバイス名に対して--deviceオプションを使用すると、エラーが発生する場合があります。react-native run-ios --udid XXXX --configuration Release
GürolCanbek

7
取得** INSTALLATION SUCCEEDED **しかし、何もデバイス上で起こりません...その100%が正しく接続され、Xcodeので認識します。主な回答とコメントの両方を試した:react-native run-ios --device同じ結果
Blue Bot

32

最初に、必要なライブラリをコンピューターにグローバルにインストールします。

npm install -g ios-deploy

iPhoneの設定に移動して、デバイスの名前を見つけます。

次に、以下のように提供します:

react-native run-ios --device "______\'s iPhone"

時々これは失敗し、次のようなメッセージを出力します:

Found Xcode project ________.xcodeproj
Could not find device with the name: "_______'s iPhone".
Choose one of the following:
______s iPhone Udid: _________

そのudidは次のように使用されます。

react-native run-ios --device --udid 0412e2c230a14e23451699

オプションで以下を使用できます。

react-native run-ios --device --udid 0412e2c230a14e23451699 -- configuration Release

デバイスIDはどのように取得しますか?
サンティアルール

1
ios-deploy -c#デバイスが接続されている場合
jasonleonhard

1
私にとってsudo npm install -g ios-deploy --unsafe-perm=trueは働きました。
Jay Mayu

usb-> Xcode-> Window-> Devices and Simulators-> Identifierへの入力デバイスこれはuuid(udid)です
Giang

@jasonleonhardどのように機能しios-deploy -cますか、それはコマンドラインツールではありませんか?それはyarn/npm ios-deploy -c何かであると思われますか、それも機能しませんでした
Sam

11

このコマンドをプロジェクトのルートディレクトリで実行します。

1>。接続されているリアルデバイスとシミュレータを見つけたiPhoneデバイスのリスト。Androidのadb devicesコマンドと同じです。

xcrun instruments -s devices

2>。このコマンドを使用して、アプリを実行するデバイスを選択します

デバイス名の使用

react-native run-ios --device "Kool's iPhone"

UDIDの使用

react-native run-ios --device --udid 0412e2c2******51699

特定のデバイスでアプリを実行するのを待ちます-K00L;)


1
UDIDメソッドを使用すると、「エラーThe deviceudidオプションは相互に排他的です」というエラーが表示されます
syumaK

7

このエラーが発生したios-deploy@x.x.x preinstall: ./src/scripts/check_reqs.js && xcodebuild ...場合npm install -g ios-deploy

これを試して。わたしにはできる:

  1. sudo npm uninstall -g ios-deploy
  2. brew install ios-deploy

4

カミルの答えに何かを追加したかっただけ

手順を実行してもエラーが発生しますが、

エラー "....のXr"という名前のデバイスが見つかりませんでした

デバイス名から特殊文字を削除した後([設定]-> [一般]-> [バージョン情報]-> [名前]に移動します

例:'

出来た !

これが同様の問題に直面した人を助けることを願っています。

でテスト - 反応-ネイティブ-CLI:2.0.1 | 反応ネイティブ:0.59.8 | VSCode 1.32 | Xcode 10.2.1 | iOS 12.3


アポストロフィは実際にはユニコードの右単一引用符だったため、同様の問題が発生しました。デバイスリストからデバイス名をコピーして貼り付けた後、機能しました。
トマ

0

実際、最初のビルドでは、Xcodeでそれを実行してから、次の方法を実行してください。

  1. brew install ios-deploy
  2. npx react-native run-ios --device

2番目のコマンドは、最初に接続されたデバイスでアプリを実行します。


0

私と一緒に働いて

react-native run-ios --device="My’s iPhone"

また、iphone名、アポストロフィs 'が異なる場合があることに注意してください。鉱山はこれを使用しています '

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.