React-native uygulaması iOS cihazında doğrudan komut satırından çalıştırılsın mı?


108

Simülatörde yaptığımız gibi bir iOS cihazında react-native uygulamasını doğrudan komut satırından çalıştırmak mümkün mü react-native run ios --simulator "iPhone 5s"?

Yanıtlar:


239

Aşağıdakiler benim için çalıştı (react native 0.38ve üzerinde test edildi 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"

Çalıştırmayı denerseniz run-ios, komut dosyasının oluşturduktan npm install -g ios-deploysonra kurulum adımına ulaştığında yapılmasını önerdiğini göreceksiniz .

Yerel tekliflere tepki veren çeşitli komutların dokümantasyonu biraz kabataslak olsa da, yerel / yerel-cli'ye tepki vermeye değer . Orada, mevcut tüm komutları ve çalıştırdıkları kodu görebilirsiniz - böylece belgelenmemiş komutlar için hangi anahtarların mevcut olduğunu öğrenebilirsiniz.


2
Buna benzer bir şey görüyorsanız ios deploy does not support the following options: id, belki de benim gibi iPhone'unuz iOS beta sürümünü çalıştırıyor ve Xcode'un beta sürümünü kullanmanız gerekecek. Deneyin sudo xcode-select -s /Applications/Xcode-beta.app(doğru Xcode beta uygulamasının kurulu olduğunu varsayarak).
paulvs

53
Benim için sadece react-native run-ios --deviceçalıştı ve yukarıdaki komut çalışmadı
narek

11
npm install -g ios-deploysudo npm install -g ios-deploy --unsafe-perm=true --allow-root
Eric Wiener

5
Cihazın UDID ile iOS cihazlarındaki gevşetmedir yapılandırmasında mobil uygulamayı çalıştırmak anlamına Not (İngilizce olmayan karakterler sahip cihaz adları için --device seçeneği bulunan bir hatayı alabilirsiniz:react-native run-ios --udid XXXX --configuration Release
Gürol Canbek

7
alıyorum ** INSTALLATION SUCCEEDED **ama cihazda hiçbir şey olmuyor ...% 100 doğru bir şekilde bağlı ve Xcode tarafından tanındı. Hem ana yanıtı hem de yorumları denedim: react-native run-ios --deviceaynı sonuçla
Blue Bot

37

Öncelikle gerekli kitaplığı genel olarak bilgisayarınıza kurun:

npm install -g ios-deploy

Cihazın adını bulmak için iPhone'unuzdaki ayarlarınıza gidin.

Sonra aşağıdaki gibi sağlayın:

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

Bazen bu başarısız olur ve şöyle bir mesaj verir:

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

Bu udid şu şekilde kullanılır:

react-native run-ios --udid 0412e2c230a14e23451699

İsteğe bağlı olarak şunları kullanabilirsiniz:

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

cihaz kimliğini nasıl alırsınız?
santialur

1
ios-deploy -c # cihazınız fişe takıldığında
jasonleonhard

1
benim için sudo npm install -g ios-deploy --unsafe-perm=trueçalıştı.
Jay Mayu

usb giriş cihazı-> Xcode-> Pencere-> Cihazlar ve Simülatörler-> Tanımlayıcı bu uuid (udid)
Giang

@jasonleonhard Nasıl ios-deploy -cçalışır, bir komut satırı aracı değildir? olması gerekiyor mu yarn/npm ios-deploy -c, çünkü işe yaramadı
Sam

17

Bu komutu proje kök dizininde çalıştırın.

1>. Bağlı Gerçek Cihazları ve Simülatörü bulmak için iPhone cihazlarının listesi . android için adb devices komutu ile aynı.

xcrun instruments -s devices

2>. Uygulamanızı çalıştırmak istediğiniz bu komutu kullanarak cihazı seçin

Cihaz Adının Kullanılması

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

UDID kullanma

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

uygulamanızı belirli cihazlarda çalıştırmak için bekleyin ve izleyin - K00L;)


2
UDID yöntemini kullanarak şu hatayı alıyorum: "hata deviceve udidseçenekleri birbirini dışlar"
syumaK

8

Bu hatayı ios-deploy@x.x.x preinstall: ./src/scripts/check_reqs.js && xcodebuild ...kullanarak alırsanıznpm install -g ios-deploy

Bunu dene. Benim için çalışıyor:

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

4

Kamil'in cevabına bir şey eklemek istedim

Adımları uyguladıktan sonra hala bir hata alıyorum,

error ".... 's Xr" adlı aygıt bulunamadı

Cihaz adından özel karakterleri kaldırdıktan sonra ( Ayarlar -> Genel -> Hakkında -> Ad bölümüne gidin )

Örneğin: '

İşe yaradı !

Umarım bu benzer bir sorunla karşılaşan birine yardımcı olur.

İle test edildi - react-native-cli: 2.0.1 | react-native: 0.59.8 | VSCode 1.32 | Xcode 10.2.1 | iOS 12.3


Benzer bir sorunla karşılaştım çünkü kesme işareti aslında bir unicode sağ tek tırnak işaretiydi. Cihaz adını cihaz listesinden kopyalayıp yapıştırdıktan sonra çalıştı.
Toma

1

Benimki ile çalışıyorum

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

Ve iphone adınızın kesme işaretinin farklı olabileceğini unutmayın. Benimki bunu kullanıyor '


0

Aslında, ilk derleme için lütfen bunu Xcode ile yapın ve ardından şu şekilde yapın:

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

İkinci komut, uygulamayı ilk bağlı cihazda çalıştıracaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.