Jalankan aplikasi react-native di perangkat iOS langsung dari baris perintah?


105

Apakah mungkin untuk menjalankan aplikasi react-native di perangkat iOS langsung dari baris perintah seperti yang kita lakukan di simulator react-native run ios --simulator "iPhone 5s"?

Jawaban:


231

Berikut ini bekerja untuk saya (diuji pada react native 0.38dan 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"

Jika Anda mencoba menjalankan run-ios, Anda akan melihat bahwa skrip merekomendasikan untuk dilakukannpm install -g ios-deploy ketika mencapai langkah pemasangan setelah pembuatan.

Meskipun dokumentasi tentang berbagai perintah yang ditawarkan react-native agak samar, ada baiknya untuk mereaksikan react-native / local-cli . Di sana, Anda dapat melihat semua perintah yang tersedia dan kode yang dijalankannya - Anda dapat menentukan sakelar apa yang tersedia untuk perintah yang tidak terdokumentasi.


2
Jika Anda melihat sesuatu seperti ios deploy does not support the following options: id, mungkin seperti saya, iPhone Anda menjalankan versi beta iOS dan Anda harus menggunakan Xcode versi beta. Coba sudo xcode-select -s /Applications/Xcode-beta.app(dengan asumsi Anda telah menginstal aplikasi Xcode beta yang benar).
paulvs

50
Bagi saya baru saja react-native run-ios --devicebekerja dan perintah di atas tidak
narek

11
Jika Anda mendapatkan kesalahan setelah menjalankan npm install -g ios-deploy, coba jalankan sudo npm install -g ios-deploy --unsafe-perm=true --allow-root
Eric Wiener

5
Perhatikan bahwa Anda dapat menjalankan aplikasi seluler dalam konfigurasi relase pada perangkat iOS dengan UDID perangkat (Anda mungkin mendapatkan kesalahan dengan opsi --device untuk nama perangkat yang memiliki karakter non-Inggris:react-native run-ios --udid XXXX --configuration Release
Gürol Canbek

7
mendapatkan ** INSTALLATION SUCCEEDED **tetapi tidak ada yang terjadi pada perangkat ... 100% terhubung dengan benar dan dikenali oleh Xcode. Mencoba jawaban utama dan komentar: react-native run-ios --devicedengan hasil yang sama
Blue Bot

33

Pertama instal perpustakaan yang diperlukan secara global di komputer Anda:

npm install -g ios-deploy

Buka pengaturan Anda di iPhone untuk menemukan nama perangkat.

Kemudian berikan seperti di bawah ini:

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

Terkadang ini akan gagal dan menampilkan pesan seperti ini:

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

Udid itu digunakan seperti ini:

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

Secara opsional, Anda dapat menggunakan:

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

bagaimana Anda mendapatkan ID perangkat?
santialur

1
ios-deploy -c # ketika perangkat Anda terhubung
jasonleonhard

1
bagi saya sudo npm install -g ios-deploy --unsafe-perm=truebekerja.
Jay Mayu

masukan perangkat ke usb-> Xcode-> Window-> Perangkat dan Simulator-> Pengidentifikasi ini adalah uuid (udid)
Giang

@jasonleonhard Bagaimana cara ios-deploy -ckerjanya, ini bukan alat baris perintah? apakah itu seharusnya yarn/npm ios-deploy -catau sesuatu, karena itu tidak berhasil juga
Sam

12

Jalankan perintah ini di direktori root proyek.

1>. Daftar perangkat iPhone untuk menemukan Perangkat dan Simulator Nyata yang terhubung. sama seperti perintah perangkat adb untuk android.

xcrun instruments -s devices

2>. Pilih perangkat menggunakan perintah ini yang Anda inginkan untuk menjalankan aplikasi Anda

Menggunakan Nama Perangkat

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

Menggunakan UDID

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

tunggu dan perhatikan untuk menjalankan aplikasi Anda di perangkat tertentu - K00L;)


1
menggunakan metode UDID, saya mendapatkan kesalahan: "error The devicedan udidopsi saling eksklusif"
syumaK

7

Jika Anda mendapatkan kesalahan ini ios-deploy@x.x.x preinstall: ./src/scripts/check_reqs.js && xcodebuild ...menggunakannpm install -g ios-deploy

Coba ini. Ini bekerja untuk saya:

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

4

Hanya ingin menambahkan sesuatu pada jawaban Kamil

Setelah mengikuti langkah-langkah tersebut, saya masih mendapatkan kesalahan,

error Tidak dapat menemukan perangkat dengan nama: "....'s Xr"

Setelah menghapus karakter khusus dari nama perangkat (Buka Pengaturan -> Umum -> Tentang -> Nama )

Misalnya: '

Berhasil!

Semoga ini akan membantu seseorang yang menghadapi masalah serupa.

Diuji dengan - react-native-cli: 2.0.1 | react-native: 0.59.8 | VSCode 1.32 | Xcode 10.2.1 | iOS 12.3


Saya mendapat masalah serupa karena apostrof sebenarnya adalah tanda kutip tunggal kanan unicode. Setelah copy-paste nama perangkat dari daftar perangkat itu berhasil.
Toma

1

Bekerja dengan saya

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

Dan perhatikan bahwa nama iphone Anda, tanda kutip mungkin berbeda. Punyaku menggunakan ini '


0

Sebenarnya Untuk build yang pertama silahkan lakukan dengan Xcode lalu lakukan cara berikut:

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

Perintah kedua akan menjalankan aplikasi pada perangkat pertama yang terhubung.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.