IT

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

itgroup 2023. 6. 27. 22:05
반응형

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

우리가 시뮬레이터에서 실행하는 것처럼 iOS 기기에서 직접 반응 네이티브 애플리케이션을 실행하는 것이 가능합니까?react-native run ios --simulator "iPhone 5s"?

다음은 저에게 효과가 있었습니다(반응 네이티브에서 테스트됨).0.38그리고.0.40):

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

만약 당신이 도망치려고 하면,run-ios가 스립트권작확수있다습니인할업을크는서에장하ends▁to▁recomm▁do를 추천하는 것을 볼 수 있습니다.npm install -g ios-deploy구축 후 설치 단계에 도달할 때.

편집: react-native가 제공하는 다양한 명령에 대한 문서는 약간 개략적이지만 react-native/local-cli로 이동할 가치가 있습니다.사용 가능한 모든 명령과 실행되는 코드를 볼 수 있으므로 문서화되지 않은 명령에 사용할 수 있는 스위치를 확인할 수 있습니다.

먼저 컴퓨터에 필요한 라이브러리를 전체적으로 설치합니다.

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 --udid 0412e2c230a14e23451699

선택적으로 다음을 사용할 수 있습니다.

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

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

. 연결된 Real Devices 및 Simulator를 찾기 위한 iPhone 장치 목록. 안드로이드용 adb devices 명령어와 동일합니다.

xcrun xctrace list devices

OR

xcrun instruments -s devices

이 명령을 사용하여 앱을 실행할 장치를 선택합니다.

장치 이름 사용

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

UDID 사용

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

특정 장치에서 앱을 실행할 때까지 기다립니다 - K00L ;)

사실, 첫 번째 빌드는 Xcode로 한 후 다음과 같은 방법으로 해주시기 바랍니다.

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

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

카밀의 대답에 뭔가를 덧붙이고 싶었습니다.

단계를 수행한 후에도 여전히 오류가 발생했습니다.

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

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

: '

효과가 있었어요!

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

-react-native-cli: 2.0.1 | react-native: 0.59.8 | VSCode 1.32 | Xcode 10.2.1 | iOS 12.3으로 테스트됨

오류가 하면 이오류발할경우생가경우▁if.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

내 것을 가지고 함께 일했습니다.

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

그리고 당신의 아이폰 이름, 아포스트로피가 다를 수도 있다는 것을 알아두세요.내 것은 이것을 사용하고 있습니다.

모든 물리적 장치에 대해 이를 자동화하려면 다음을 사용해 보십시오.

npx react-native run-ios --device=$(xcrun instruments -s devices | grep -v '(Simulator)' | tail -1 | sed 's/ (.*//')

참고: 이것은 시뮬레이터로 나열되지 않은 xcrun의 마지막으로 나열된 장치를 사용합니다.장치 이름은 첫 번째 문자 앞에 나타나는 모든 문자를 풀링하는 xcrun 계측기 문자열에서 구문 분석됩니다. (.

애플 기기가 하나만 연결되어 있고 이름에 다음이 포함되지 않은 경우 이 기능이 정상적으로 작동합니다. (그 안에

그렇지 않으면 다음을 실행할 수 있습니다.

xcrun instruments -s devices

장치를 선택합니다(버전까지 사용해야 하는 장치 이름).

그런 다음 실행:

npx react-native run-ios --device='yourDeviceName'

저도 같은 문제가 있었어요.명령npx run-ios그런 다음 선택Physical Device설정 ->일반 ->정보 ->이름에서 장치 이름을 변경한 후 작업했습니다.공백 없이 글자만 있는 이름과 특별한 기호를 사용했습니다.

Xcode 13에서 장치가 인식되었지만 명령을 실행할 때 장치 목록에서 장치를 찾을 수 없습니다.

xcrunxctrace 목록 장치

하지만 Xcode 13.4.1로 업그레이드한 후 장치 목록에서 장치를 볼 수 있었습니다.

그런 다음 이전 게시물에 언급된 내용을 따라 ios-deploy 패키지를 처음 설치했습니다.

yarn 글로벌 addios-deploy

장치 ID 가져오기

xcrunxctrace 목록 장치

그리고나서

react-native run-ios --uid "당신의 장치 ID"

특정 ios 장치에서 실행하기 위해

yarn ios --simulator "iPhone 8" if you are using yarn or
npx react-native run-ios --simulator="iPhone SE (1st generation)"

이름이 지정된 iPhone:

톤즈 아이폰

그냥 실행:

xcrun xctrace list devices | grep -w "Ton" | awk -F "[()]" '{ print $1 }' | xargs -I iphone npx react-native run-ios --scheme Debug --device iphone

--device인수는 시뮬레이터가 설치된 경우에만 작동합니다.저는 또한 리액트 네이티브 커뮤니티/cli에 대한 홍보를 열었는데, 그 안에 버그가 있습니다.

그래서 만약에xcrun xctrace list devices올바른 장치를 모두 반환하지만 여전히 작동하지 않습니다. 더미 시뮬레이터를 설치해 보십시오.

// @react-native-community/cli - parseXctraceIOSDevicesList

function parseIOSDevicesList(text: string): Array<Device> {
  const devices: Array<Device> = [];
  let isSimulator = false;
  // Thats the problem causing the empty device list
  if (text.indexOf('== Simulators ==') === -1) {
    return [];
  }

언급URL : https://stackoverflow.com/questions/38495793/run-react-native-application-on-ios-device-directly-from-command-line

반응형