iOS 장치에서 명령 줄에서 직접 반응 네이티브 애플리케이션을 실행 하시겠습니까?


104

시뮬레이터에서하는 것처럼 명령 줄에서 직접 iOS 장치에서 반응 네이티브 애플리케이션을 실행할 수 react-native run ios --simulator "iPhone 5s"있습니까?

답변:


230

다음은 나를 위해 일했습니다 (반응 네이티브 0.380.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-ios하면 스크립트가 권장하는 작업 npm 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

50
나를 위해 방금 react-native run-ios --device일했고 위의 명령은하지 않았습니다
narek

11
실행 후 오류가 발생하면 다음을 실행 npm install -g ios-deploy해보십시오. sudo npm install -g ios-deploy --unsafe-perm=true --allow-root
Eric Wiener

5
당신이 장치의 UDID와 iOS 기기에 relase 구성에서 모바일 응용 프로그램을 실행할 수있는 주 (당신이 영어 이외의 문자를 가진 장치 이름 --device 옵션으로 오류가 발생할 수 있습니다 :react-native run-ios --udid XXXX --configuration Release
Gürol Canbek

7
점점 ** INSTALLATION SUCCEEDED **아무것도 장치에서 발생하지 ... 그것의 100 %를 올바르게 연결하고 엑스 코드에 의해 인식. 주요 대답과 의견을 모두 시도 : react-native run-ios --device같은 결과
블루 봇

33

먼저 컴퓨터에 필요한 라이브러리를 전역으로 설치하십시오.

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는 어떻게 얻습니까?
santialur

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

12

프로젝트 루트 디렉터리에서이 명령을 실행합니다.

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 방법을 사용하면 "error The deviceand udidoptions are mutually exclusive" 오류가 발생합니다.
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

Kamil의 대답에 무언가를 추가하고 싶었습니다.

단계를 따른 후에도 여전히 오류가 발생합니다.

오류 이름이 ".... 's Xr"인 장치를 찾을 수 없습니다.

장치 이름에서 특수 문자를 제거한 후 ( 설정-> 일반-> 정보-> 이름으로 이동 )

예 : '

작동했습니다!

이것이 비슷한 문제에 직면 한 사람에게 도움이되기를 바랍니다.

테스트 - 반응 - 기본-CLI : 2.0.1 | 반응 네이티브 : 0.59.8 | VSCode 1.32 | Xcode 10.2.1 | iOS 12.3


아포스트로피가 실제로 유니 코드 오른쪽 작은 따옴표이기 때문에 비슷한 문제가 발생했습니다. 장치 목록에서 장치 이름을 복사하여 붙여 넣은 후 작동했습니다.
Toma

1

함께 일하고있어

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

그리고 아이폰 이름, 아포스트로피 s '는 다를 수 있습니다. 나는 이것을 사용하고 있습니다.


0

사실, 첫 번째 빌드의 경우 Xcode로 수행 한 후 다음 방법을 수행하십시오.

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

두 번째 명령은 첫 번째 연결된 장치 에서 앱을 실행합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.