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"?

Aakash Sigdel
sumber

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.

Kamil Sarna
sumber
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
jasonleonhard
sumber
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;)

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

Jika Anda mendapatkan kesalahan ini [email protected] 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
Cedriga
sumber
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

Damitha Raveendra
sumber
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 '

Js Yau
sumber
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.

AmerllicA
sumber