<p>react-native run-ios tidak dapat menemukan simulator apa pun</p>

Dibuat pada 3 Feb 2019  ·  107Komentar  ·  Sumber: facebook/react-native

Lingkungan Hidup


React Native Environment Info:
Sistem:
OS: macOS 10.14.2
CPU: (12) x64 Intel (R) Core (TM) i9-8950HK CPU @ 2.90GHz
Memori: 6,76 GB / 32,00 GB
Kerangka: 3.2.57 - / bin / bash
Binari:
Node: 10.15.0 - / usr / local / bin / node
Benang: 1.13.0 - / usr / local / bin / benang
npm: 6.4.1 - / usr / local / bin / npm
SDK:
SDK iOS:
Platform: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
IDE:
Android Studio: 3.1 AI-173.4819257
Xcode: 10.1 / 10B61 - / usr / bin / xcodebuild
npmPackages:
bereaksi: 16.6.3 => 16.6.3
react-native: 0,57,8 => 0,57,8
npmGlobalPackages:
create-react-native-app: 1.0.0
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7

Deskripsi


Saya telah menghadapi masalah di mana 'react-native run-ios' tidak dapat dimulai, terlepas dari simulator yang saya tambahkan ke argumen --simulator.
XCode memiliki lokasi yang benar untuk 'alat baris perintah'

Saya selalu mendapatkan kesalahan:
Tidak dapat menemukan simulator iPhone X.

Error: Could not find iPhone X simulator
    at resolve (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:149:13)
    at new Promise (<anonymous>)
    at runOnSimulator (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:134:10)
    at Object.runIOS [as func] (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:106:12)
    at Promise.resolve.then (/Users/eric/.../swim/node_modules/react-native/local-cli/cliEntry.js:117:22)

Demo yang Dapat Direproduksi


XCode diinstal dari awal.
'Aplikasi baru bereaksi-asli' baru

'react-native run-ios' selalu mengeluh karena tidak menemukan simulator, terlepas dari opsi --simulator.

Perbaikan sementara saya adalah mengubah:
/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

baris 42, ke:
if (! version.startsWith (' com.apple.CoreSimulator.SimRuntime. iOS') &&! version.startsWith ('tvOS')) {

Bug iOS Locked

Komentar yang paling membantu

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

Semua 107 komentar

Sepertinya Anda menggunakan React Native versi lama. Harap perbarui ke rilis terbaru, v0.58 dan verifikasi apakah masalah masih ada.

Label "Resolusi: Versi Lama" akan dihapus secara otomatis setelah Anda mengedit posting asli Anda dengan hasil menjalankan react-native info pada sebuah proyek menggunakan rilis terbaru.

baru saja mencoba proyek baru dengan:
react-native: 0,58,3 => 0,58,3

dan masalah yang sama

  1. Dapatkah Anda memeriksa simulator iOS mana yang diinstal pada mesin Anda?
  2. Anda selalu dapat melewati simulator mana yang ingin Anda targetkan melalui react-native run-ios —device=“XXXXXX’

Saya juga memiliki masalah yang sama di sini.
Ketika saya berubah menjadi
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
terus;
}

semuanya baik-baik saja, karena awalan "com.apple.CoreSimulator.SimRuntime." termasuk dalam daftar perangkat, pemeriksaan murni untuk beginWith gagal untuk semua simulator.

Saya membuat permintaan tarik https://github.com/facebook/react-native/pull/23293 untuk masalah ini

Hai @osunnarvik, terima kasih telah membuat PR! Bisakah Anda menjelaskan sedikit lebih banyak (mungkin di PR) mengapa ini terjadi sekarang? Maksud saya, kapan awalannya berubah? Di Xcode terbaru? 🤔

Saya telah memperbarui deskripsi PR sekarang untuk mengatakan sedikit tentang kapan itu mulai terjadi dan menambahkan beberapa informasi versi Xcode dan xcrun

@kelset ya, saya yakin format daftar perangkat telah berubah dengan Xcode terbaru.

Luar biasa - terima kasih teman-teman :)

Kami telah menggabungkan PR menjadi 0,58 (karena 0,59 dll akan memisahkan CLI) dan rilis patch berikutnya (0,58,4) akan memiliki perbaikan 💪

@kelset Saya melihat komentar di https://github.com/react-native-community/react-native-cli/pull/138 mengenai kapan Anda menentukan simulatorString (komentar dari @canterberry ). Saya hanya memeriksa dengan simulatorString kosong dan tidak dengan satu set. Beri tahu saya jika Anda ingin saya melihat kasus di mana simulatorString disetel.

Uhm oh yeah mungkin akan lebih baik untuk memeriksa juga saat string disetel. 🤔

oke, saya akan lihat besok pagi.

Saya membuat https://github.com/facebook/react-native/pull/23305 untuk menangani versi input bertitik untuk simulatorString

@osunnarvik Masalah ini masih ada di react-native versi 0.59.1

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

Ini bekerja untuk saya.

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

keren terima kasih !!

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

Saya benar-benar tidak dapat memahami bagaimana situasi ini ada

apakah ini diperbaiki dengan versi baru?

@evanoralph Jika Anda mendapatkan masalah ini hari ini seperti saya, Anda dapat mencoba mengubah findMatchingSimulator.js dalam node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js .
Pertama, boot Simulator lalu jalankan xcrun simctl list --json devices dan cari yang memiliki "state" : "Booted", .
Kemudian tambahkan di bagian atas fungsi findMatchingSimulator :

return {
    udid: <uuid from booted device>,
    name: <Name of the booted simulator>,
    booted: true,
    version: "com.apple.CoreSimulator.SimRuntime.iOS-12-2",
}

version mungkin berbeda-beda. Tetapi itu adalah kunci induk dari objek perangkat yang di-boot. Tapi ini bukan perbaikan! Ini adalah solusi.

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

Diperbarui ke macOS 10.14.4 dan XCode diperbarui ke 10.2 dan masalah ini mulai terjadi pada saya. Solusi Anda telah membantu (meskipun ini hanya solusi sementara).

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

Hebat! Meskipun sementara itu bekerja dengan sempurna. Terima kasih!

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

Bekerja untuk saya! Terima kasih! Jika Anda menjalankan Simulator yang memiliki lebih dari satu versi (seperti iPhone 5s iOS 10.3.1 dan 12.2), perbaikan ini akan membuka semua versi simulator. Anda dapat menentukan versi menggunakan --simulator "iPhone 5s (10.3)" .

@evanoralph Jika Anda mendapatkan masalah ini hari ini seperti saya, Anda dapat mencoba mengubah findMatchingSimulator.js dalam node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js .
Pertama, boot Simulator lalu jalankan xcrun simctl list --json devices dan cari yang memiliki "state" : "Booted", .
Kemudian tambahkan di bagian atas fungsi findMatchingSimulator :

return {
    udid: <uuid from booted device>,
    name: <Name of the booted simulator>,
    booted: true,
    version: "com.apple.CoreSimulator.SimRuntime.iOS-12-2",
}

version mungkin berbeda-beda. Tetapi itu adalah kunci induk dari objek perangkat yang di-boot. Tapi ini bukan perbaikan! Ini adalah solusi.

solusi tersebut berfungsi dengan baik untuk saya sekarang, saya tidak tahu apakah saya harus memperbarui proyek saya ke .59.0

Apakah saya satu-satunya yang tidak memiliki node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js? Hanya ada satu hal di dalam folder local-cli, yaitu file cli.js - ada ide ??

Sekadar informasi, ini juga tampaknya membantu, di sistem saya, mengalami masalah ini:

xcrun simctl delete tidak tersedia

Saya mendapat masalah, mengganti includes membantu saya. kapan itu akan diperbaiki?

HHHEEEYYYY ... mengganti termasuk karya !!!!!

@Titozzz Adakah pembaruan tentang kapan ini akan diperbaiki? Perbaikan sementara bukanlah cara yang ramah tim dan git.
Saya siap berkontribusi jika seseorang memberi tahu saya cara melanjutkan.

@Titozzz @kelset
Saya telah memeriksa masalah saya dan menemukan bahwa itu adalah masalah berbeda yang disajikan di sini oleh OP.

Masalahnya adalah saya perlu menjalankan aplikasi saya di iPad dan karena nama iPad memiliki ukuran perangkat dalam tanda kurung misalnya. iPad Pro (9.7-inch) , kode cli mengasumsikan ukuran perangkat dalam tanda kurung adalah versi runtime iOS.

Saya sarankan kita menggunakan argumen terpisah untuk versi runtime ios atau memiliki jenis braket yang berbeda untuk mendeteksi versi runtime.

Versi RN saya adalah 0.59.3

Halo, bisakah Anda menjawab pertanyaan?

Apakah saya satu-satunya yang tidak memiliki node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js? Hanya ada satu hal di dalam folder local-cli, yaitu file cli.js - ada ide ??

@lpfunding di sini: node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Saya senang Anda dapat melihat pesan saya! Kedua, terima kasih banyak atas balasan Anda! Tetapi Xcode saya adalah versi 8.1 dan saya memiliki simulator Xcode selain X, tetapi ketika saya mengkompilasi kesalahan terminal tidak dapat menemukan simulator apa pun! Saya mengubah kondisi kompilasi di banyak tempat tetapi tidak dapat menyelesaikan masalah, jadi saya meninggalkan pesan untuk meminta bantuan.

apakah ini perbaikan defacto? atau apakah ada PR terbuka?

Ini bekerja untuk saya di 0,58,6; Sepertinya sudah diperbaiki di komit 9a8c9596ebe41e27d37ba18d6bf09f1c931c1ff2 🙂

Ini berfungsi saat Anda meningkatkan react-native ke v59

Saya rasa masalah saya mungkin berkaitan dengan fakta bahwa jika Anda menggunakan XCode 10.2.1 (seperti saya), Apple mengganti nama simulator iPhone XR menjadi iPhone Xʀ (perhatikan "R" besar vs "ʀ" kecil) jadi jika Anda mencoba menargetkan simulator yang baru diganti namanya, gunakan react-native run-ios --simulator="iPhone Xʀ" . Terima kasih Apple ...

@ lcastillo88 oh wow itu tangkapan yang bagus, perubahan yang aneh 😅

Bagi siapa pun yang berjuang dengan ini karena Anda mencoba menjalankan simulator iPad Pro, masalahnya adalah bahwa findMatchingSimulator.js menganggap apa pun di dalam tanda kurung adalah versi iOS dari simulator yang Anda coba jalankan. Jadi mencoba membuka simulator iPad Pro dengan Versi iOS 10.5-inch (atau simulator apa pun yang Anda coba jalankan). Untuk alasan yang jelas ini tidak akan berhasil.

Solusi termudah untuk ini hingga perbaikan permanen diterapkan adalah dengan mengganti nama simulator menjadi sesuatu yang tidak menyertakan tanda kurung. Di Xcode, klik Window> Devices and Simulators, klik tab Simulators, lalu klik kanan simulator yang sedang Anda kerjakan untuk mengganti namanya.

Bagi siapa pun yang tidak dapat memutakhirkan RN tetapi membutuhkan perbaikan yang lebih otomatis, Anda dapat menggunakan skrip shell berikut di pascainstal:

sed -i '' 's/startsWith/includes/g' node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

Ini membantu kami untuk dapat menjalankan pengujian otomatisasi kami di server CI kami.

Hanya untuk memastikan saya tidak melewatkan apa pun: jika Anda menggunakan 0,59 masalah ini sudah diperbaiki, benar?

Khusus untuk simulator iPad Pro (atau simulator lain yang menyertakan sesuatu selain versi iOS dalam tanda kurung), ini masih rusak pada versi terbaru react-native.

Selain skenario itu, itu berfungsi dengan baik.

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

luar biasa, terima kasih

Jika seseorang perlu menjalankan dalam versi iOS tertentu:
react-native run-ios --simulator="iPhone 8 (12-0)"
Sebelumnya (12.0) tetapi diubah menjadi 12-0 setelah saya memperbarui xcode saya menjadi 10.2.1

Ada masalah saat melakukan pencarian string pada versi simulator di node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js pada baris ini: if (!version.startsWith('iOS') .

Saya menggantinya dengan includes seperti: if (!version.includes('iOS') yang tampaknya telah memecahkan masalah bagi saya.

ini berhasil untuk saya. terima kasih

tetapi bisakah Anda menjelaskan saya masalahnya

@tokopedia

Hanya untuk memastikan saya tidak melewatkan apa pun: jika Anda menggunakan 0,59 masalah ini sudah diperbaiki, benar?

saya baru saja meningkatkan ke 0,59.8 dan berhasil [ditingkatkan melalui react-native-git-upgrade ]

Bagi siapa pun yang tidak dapat memutakhirkan RN tetapi membutuhkan perbaikan yang lebih otomatis, Anda dapat menggunakan skrip shell berikut di pascainstal:

sed -i '' 's/startsWith/includes/g' node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

Ini membantu kami untuk dapat menjalankan pengujian otomatisasi kami di server CI kami.

Ini berhasil untuk saya

INI MUNGKIN SAYA MEMBANTU BAGI SESEORANG MASIH MENGGUNAKAN

"react-native": "0.52.1"

Saya telah memperbaikinya dengan mengikuti perubahan.

Pergi ke jalan ini.

node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js

Ubah ( nomor baris 30 untuk saya )
if (version.indexOf('iOS') !== 0)

Untuk
if (version.indexOf('iOS') === -1)

Saya menggunakan [email protected] dan --simulator = "iPhone 8" tidak diurai dengan benar. Saat menambahkan log konsol, log tersebut tampaknya diurai sebagai "iPhone (tanpa kutipan akhir). Saya mengubah node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js untuk menerima nama simulator dengan garis bawah sebagai pengganti spasi.

Ini sepertinya memperbaiki masalah penguraian yang saya lihat:

$ react-native run-ios --simulator = "iPhone_8"

Saya membuat perubahan berikut secara lokal:

function findMatchingSimulator (simulators, simulatorString) {
if (! simulators.devices) {
kembali nol;
}
perangkat const = simulators.devices;

simulatorString = simulatorString.replace ('_', '')

Hari ini saya telah memperbaikinya di runIOS/findMatchingSimulator.js . 🎉 Saya mengubah garis
if (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
untuk
if (simulator.availability !== '(available)' && simulator.isAvailable !== true) { .
Tampaknya properti isAvailable mengembalikan boolean normal alih-alih YES / NO dalam daftar perangkat.
Omong-omong, saya mengalami masalah ini setelah menginstal Xcode 11 Beta.

react-native-cli: 2.0.1
react-native: 0,59.9

Mendapat kesalahan yang sama yang tidak dapat menemukan simulator.

Penyebab: Saat menjalankan react-native run-ios, nama simulator default adalah iPhoneX, yang tidak ada sama sekali. Nama untuk iPhoneX adalah iPhoneXs, iPhoneXs Max atau iPhoneXR
Solusi: ubah kode di node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

// change this line
// it was if (simulator.name ===simulatorName && !match) {
if (simulator.name.includes(simulatorName) && !match) {
        match = {
          udid: simulator.udid,
          name: simulator.name,
          booted,
          version
        };
      } // Keeps track of the first available simulator for use if we can't find one above.

Proyek saya masih menggunakan "react-native": "0.53.3" dan bagi saya kode di "findMatchingSimulator.js" di folder react-native node_modules adalah

if (version.indexOf('iOS') != 0) {
continue;
}

Tidak bisa percaya.

Saya juga memiliki masalah yang sama di sini.
Ketika saya berubah menjadi
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
terus;
}

semuanya baik-baik saja, karena awalan "com.apple.CoreSimulator.SimRuntime." termasuk dalam daftar perangkat, pemeriksaan murni untuk beginWith gagal untuk semua simulator.

Terima kasih Itu berhasil untuk saya

Saya juga memiliki masalah yang sama di sini.
Ketika saya berubah menjadi
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
terus;
}

semuanya baik-baik saja, karena awalan "com.apple.CoreSimulator.SimRuntime." termasuk dalam daftar perangkat, pemeriksaan murni untuk beginWith gagal untuk semua simulator.

hai, node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js tidak ada

@ topik96 Periksa di sini.

node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Catatan: Perbaikan di atas tidak berhasil untuk saya. Apa yang saya lakukan:

  1. Jalankan perintah ini xcrun simctl list devices
  2. Periksa nama simulator dan versi iOS. (Dalam kasus saya, 12,2)
  3. Sekarang perintah saya terlihat seperti ini react-native run-ios --simulator='iPad Pro (9.7-inch) (12.2) . Perhatikan versi iOS-nya.

Sebelumnya, saya tidak menyebutkan versi iOS di perintah jalankan saya.

memeriksa simulator yang tersedia sekarang harus:
simulator.isAvailable! == true

Saya rasa masalah saya mungkin berkaitan dengan fakta bahwa jika Anda menggunakan XCode 10.2.1 (seperti saya), Apple mengganti nama simulator iPhone XR menjadi iPhone Xʀ (perhatikan "R" besar vs "ʀ" kecil) jadi jika Anda mencoba menargetkan simulator yang baru diganti namanya, gunakan react-native run-ios --simulator="iPhone Xʀ" . Terima kasih Apple ...

Bekerja untuk saya. Terima kasih.

Saya juga memiliki masalah yang sama di sini.
Ketika saya berubah menjadi
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
terus;
}

semuanya baik-baik saja, karena awalan "com.apple.CoreSimulator.SimRuntime." termasuk dalam daftar perangkat, pemeriksaan murni untuk beginWith gagal untuk semua simulator.

Terima kasih !, bekerja untuk saya!

Saya juga memiliki masalah yang sama di sini.
Ketika saya berubah menjadi
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
terus;
}
semuanya baik-baik saja, karena awalan "com.apple.CoreSimulator.SimRuntime." termasuk dalam daftar perangkat, pemeriksaan murni untuk beginWith gagal untuk semua simulator.

hai, node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js tidak ada

jika Anda menggunakan cli baru pada versi terbaru React Native, itu akan ditemukan di sini:

node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Hari ini saya telah memperbaikinya di runIOS/findMatchingSimulator.js . 🎉 Saya mengubah garis
if (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
untuk
if (simulator.availability !== '(available)' && simulator.isAvailable !== true) { .
Tampaknya properti isAvailable mengembalikan boolean normal alih-alih YES / NO dalam daftar perangkat.
Omong-omong, saya mengalami masalah ini setelah menginstal Xcode 11 Beta.

Saya telah menginstal 11 Beta juga. Menurutnya skrip ini harus memeriksa YES dan true bersamaan?

tidak bisa menyelesaikan masalah dan membutuhkan solusi dengan cepat, jadi saya meretas perbaikan cepat.

console.log perangkat, dan hack kembali

di findMatchingSimulator.js
sebelum if(match) {return match}

Saya melakukan hardcode untuk kembali

  return {
    udid: 'BFBD0FA0-3104-4401-80BE-DC54CD7E3895',
    name: 'iPhone X',
    version: 'com.apple.CoreSimulator.SimRuntime.iOS-12-4'
  }

Saya juga memiliki masalah yang sama di sini.
Ketika saya berubah menjadi
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
terus;
}

semuanya baik-baik saja, karena awalan "com.apple.CoreSimulator.SimRuntime." termasuk dalam daftar perangkat, pemeriksaan murni untuk beginWith gagal untuk semua simulator.

Mengagumkan. Ini bekerja seperti pesona. Terima kasih!

Jika Anda melihat kesalahan ini:

error Could not find "iPhone X" simulator. Run CLI with --verbose flag for more details.

Lihat komentar saya untuk solusi sederhana ini di sini:

kesalahan Tidak dapat menemukan simulator iPhone X # 418

sed -i '' 's / beginWith / include / g' node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js

perbaiki untuk saya.

Lakukan perbaikan langkah berikut di bawah ini untuk saya
react-native: 0,52.3

memperbaiki tidak dapat menemukan emulator

membuka file
kode ./node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

ganti version.indexOf ('iOS')! == 0
to! version.includes ('iOS')

Masalah ini telah terjadi pada saya selama 4 bulan terakhir dan lebih dari versi server RN. Biasanya setelah update semacam. Itu merusak produktivitas saya setiap saat.

Hai Jim, apakah Anda memverifikasi bahwa Anda tidak memiliki proyek RN dalam proyek RN (file
sistem bijaksana)? Jika ya, coba buat 1 proyek per satu folder. Inilah apa
terjadi pada saya dan setelah saya memindahkan proyek ke-2 ke folder independen
(dengan menggunakan RN init). Semoga bisa membantu Anda :)

Pada Sabtu, 21 Sep 2019 pukul 18:28 Jim Hall [email protected] menulis:

Masalah ini telah terjadi pada saya selama 4 bulan terakhir
dan lebih dari versi server RN. Biasanya setelah update semacam. Itu
merusak produktivitas saya setiap kali.

-
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/facebook/react-native/issues/23282?email_source=notifications&email_token=ADA33H7VQA5DPUSQO6ILB6DQKY4TLA5CNFSM4GUBJ5D2YY3PNVWWK3TUL652HS4DFVREXG43ZTDNITVB2HS4DFVREXG43ZTDNITVB3
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/ADA33H56N5ML47724MTTPFTQKY4TLANCNFSM4GUBJ5DQ
.

Apakah simulator iPhone X tidak lagi didukung? Saya mengalami masalah ini dan memperbaikinya dengan menjalankan
-simulator="iPhone 11 Pro"

Mengkonfirmasi pengamatan @ reza-hashemi, menjalankan instruments -s devices dengan Xcode 11.0 (11A420a) diinstal tidak lagi mencantumkan IPhone X. Memasok simulator lain menggunakan bendera --simulator berfungsi.

Sepertinya versi baru xCode tidak memiliki simulator iPhone X yang ditambahkan secara default. Anda juga dapat memperbaiki masalah untuk saat ini dengan menambahkan simulator kembali di xCode. Pada akhirnya CLI mungkin harus diperbarui untuk menggunakan iPhone 11.

Setelah memutakhirkan ke Xcode 11, saya mendapatkan kesalahan
"Tidak dapat menemukan simulator" iPhone X "."

perbaikan mudah ...

Xcode -> preferensi -> komponen menginstal ios 12.2 sumulator

Langkah @broros memperbaikinya untuk saya. Masalah ini dimulai setelah peningkatan XCode, namun, setelah saya melewati simulator, saya menerima pesan kesalahan yang berbeda

error: Multiple commands produce '/ios/build/Debug-iphonesimulator/mobile.app/Zocial.ttf':
1) Target 'mobile' (project 'mobile') has copy command from '/node_modules/react-native-vector-icons/Fonts/Zocial.ttf' to '/mobile/ios/build/Debug-iphonesimulator/mobile.app/Zocial.ttf'
2) That command depends on command in Target 'mobile' (project 'mobile'): script phase “[CP] Copy Pods Resources”

Untuk memperbaiki kesalahan kedua ini saya harus membuka proyek ios di Xcode -> File -> Workspace settings -> Build System -> (Set to Legacy).

Setelah memutakhirkan Xcode dari 10 menjadi 11, saya juga mendapatkan kesalahan 'Simulator iPhone X'. Saya mencoba beberapa skrip yang ditemukan di utas ini dan yang lainnya tidak berhasil. Jika Anda memiliki peringatan di terminal Anda, coba npm audit fix . Terselesaikan untuk saya dan saya boot sekarang tanpa masalah.

Diperbarui ke xcode 11. tidak dapat menemukan perangkat.
Masalahnya adalah dengan menafsirkan output xcrun simctl list --json devices yang digunakan oleh skrip untuk mengetahui perangkat yang diinstal.
Masuk ke kode findMatchingSimulator. dalam kondisi menyatakan

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES'
            ) {
                continue
            }

menambahkan bentuk baru isAvailable (Yang sekarang menjadi boolean biasa):

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES' &&
                simulator.isAvailable !== true
            ) {
                continue
            }

ini menyelesaikan masalah.

Diperbarui ke xcode 11. tidak dapat menemukan perangkat.
Masalahnya adalah dengan menafsirkan output xcrun simctl list --json devices yang digunakan oleh skrip untuk mengetahui perangkat yang diinstal.
Masuk ke kode findMatchingSimulator. dalam kondisi menyatakan

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES'
            ) {
                continue
            }

menambahkan bentuk baru isAvailable (Yang sekarang menjadi boolean biasa):

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES' &&
                simulator.isAvailable !== true
            ) {
                continue
            }

ini menyelesaikan masalah.

Hai. Bisakah Anda menjelaskan kepada saya, di mana findMatchingSimulator?

Terima kasih @galkahana ,
yang berhasil untuk saya.
@TchernyavskyDaniil Anda dapat menemukan file tersebut di folder proyek node_modules
./node_modules/\@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Terima kasih @galkahana ,
yang berhasil untuk saya.
@TchernyavskyDaniil Anda dapat menemukan file tersebut di folder proyek node_modules
./node_modules/\@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Maksud Anda:
/ cli-platform-IOS / ...?

Saya tidak dapat menemukan jalan Anda (runIOS): C

RN 60,4

@TchernyavskyDaniil Saya menjalankan RN 0.59.9
Bisakah Anda mengeksekusi find . -iname findMatchingSimulator.js dari baris perintah di folder proyek Anda?
Jika Anda menemukan @ di jalur daripada menambahkan garis miring terbalik di depannya dan membukanya menggunakan vim atau editor lain.

@TchernyavskyDaniil Saya menjalankan RN 0.59.9
Bisakah Anda mengeksekusi find . -iname findMatchingSimulator.js dari baris perintah di folder proyek Anda?
Jika Anda menemukan @ di jalur daripada menambahkan garis miring terbalik di depannya dan membukanya menggunakan vim atau editor lain.

ya,
./node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/findMatchingSimulator.js

Ok, saya akan mencoba

"Tidak dapat menemukan simulator" iPhone X "."

изображение

Bagus :)

Mendapatkan kesalahan ini di XCode 11. Tuhan memberkati pembaruan perangkat lunak !!

Anda dapat memperbarui @ react-native-community / cli ke 1.9.8 https://github.com/react-native-community/cli/pull/414#issuecomment -499483963

@bayu_joo

react-native --version
react-native-cli: 2.0.1
react-native: 0.59.8

@maxkomarychev Saya menggunakan @react-native-community/[email protected] dan mengalami masalah ini.

@gahana Terima kasih. Itu berhasil. Tetapi memodifikasi node_modules adalah peretasan mematikan yang harus dihindari. Harus menaikkan PR untuk itu

  1. Dapatkah Anda memeriksa simulator iOS mana yang diinstal pada mesin Anda?
  2. Anda selalu dapat melewati simulator mana yang ingin Anda targetkan melalui react-native run-ios —device=“XXXXXX’

cukup instal perangkat iphone X di xcode

Kesalahan yang sama mengikuti pembaruan Xcode baru-baru ini yang menambahkan simulator telepon baru DAN menghapus beberapa yang lebih lama:

  1. Luncurkan Simulator
  2. Dari menu: Perangkat Keras> Perangkat> Kelola Perangkat
  3. Pilih tab / tombol "Simulator", lalu klik "+" di kiri bawah dan tambahkan perangkat apa pun yang dikeluhkan kesalahan proses Anda (ambil defaultnya - yaitu, jangan mengisi bidang nama).

Semoga ini bisa membantu seseorang ...

Jika Anda masih mengalami kesalahan setelah mengikuti langkah-langkah @dmurchie di atas, Anda mungkin juga perlu memperbarui @react-native-community/cli .

Anda dapat mengikuti langkah-langkah di sini untuk melakukannya:
https://github.com/react-native-community/cli#updating -the-cli

Diperbarui ke xcode 11. tidak dapat menemukan perangkat.
Masalahnya adalah dengan menafsirkan output xcrun simctl list --json devices yang digunakan oleh skrip untuk mengetahui perangkat yang diinstal.
Masuk ke kode findMatchingSimulator. dalam kondisi menyatakan

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES'
            ) {
                continue
            }

menambahkan bentuk baru isAvailable (Yang sekarang menjadi boolean biasa):

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES' &&
                simulator.isAvailable !== true
            ) {
                continue
            }

ini menyelesaikan masalah.

Mengagumkan. Ini bekerja seperti pesona. Terima kasih sobat

@TchernyavskyDaniil Anda menghemat waktu saya. Tks banyak!
RN 0.58.3
Xcode 11
Mengalami masalah ini.
Perbaiki masalah ini dengan mengikuti langkah di bawah ini:

  1. Dari proyek buka file:
    code ./node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
  2. menggantikan
    version.indexOf ('iOS')! == 0
    untuk
    ! version.includes ('iOS')

menggantikan
simulator.availability! == '(tersedia)'
untuk
simulator.availability! == '(tersedia)' &&
simulator.isAvailable! == 'YA' &&
simulator.isAvailable! == true

  1. Jalankan react-native run-ios
    Secara default react native akan menjalankan simulator iPhone 11 Pro Max.
    Lihat daftar simulator saat ini:
    xcrun simctl list devices
    Anda dapat mengubah simulator:
    react-native run-ios --configuration Debug --simulator='Your simulator' --scheme 'Your Scheme'
    Contoh
    react-native run-ios --configuration Debug --simulator='iPhone 11 Pro Max' --scheme 'HelloWorld'

Opsi lain yang cocok untuk saya.

# to find what simulators you have
xcrun simctl list

# to run a specific simulator
rn run-ios --simulator "iPhone 11"

Diperbarui ke xcode 11. tidak dapat menemukan perangkat.
Masalahnya adalah dengan menafsirkan output xcrun simctl list --json devices yang digunakan oleh skrip untuk mengetahui perangkat yang diinstal.
Masuk ke kode findMatchingSimulator. dalam kondisi menyatakan

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES'
            ) {
                continue
            }

menambahkan bentuk baru isAvailable (Yang sekarang menjadi boolean biasa):

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES' &&
                simulator.isAvailable !== true
            ) {
                continue
            }

ini menyelesaikan masalah.

Ini bekerja untuk saya.
Terima kasih sobat!

Halo semua,

Saya menemukan solusi lain tanpa mengubah kode sumber apa pun di direktori node_modules.

  1. Buat folder proyek react-native (perintah: react-native init projectName)
  2. Buka file projectName / ios / projectName.xcodeproj file di Xcode 11
  3. Pilih perangkat yang ingin Anda gunakan (iPhone X tidak ada dalam daftar lagi setelah merilis iPhone Pro, jadi Anda perlu mengklik tombol plus dan menambahkan ke daftar perangkat saat ini)
  4. Ketika perangkat baru Anda dalam daftar, Anda dapat menutup Xcode 11 dan mencoba menjalankan emulator dari Terminal (react-native run-ios)

jika Anda memerlukan tangkapan layar, bagaimana melakukannya beri tahu saya.

Ngomong-ngomong, ini adalah komentar pertama saya di github, jadi selamat :)

Terima kasih.

@ilkinnamazov Bisakah Anda mengirimkan screenshot dari solusi Anda?

Ketika Anda membuka file .xcodeproj di folder ios itu akan memulai Xcode IDE dan di sana Anda akan dapat memilih simulator tertentu.
Lihat tangkapan layar di bawah.

Anda dapat memilih perangkat dari daftar ini.
1
3

Tetapi jika Anda tidak melihat iPhone X Anda dapat dengan mudah menambahkannya ke daftar perangkat Anda.
2
4
5
6

Jika Anda memiliki pertanyaan, beri tahu saya.
Terima kasih.

Jika tidak berfungsi setelah menambahkan simulator iPhone X di XCode

  1. Hapus node_modules
  2. Hapus yarn.lock atau package-lock.json
  3. Jalankan yarn atau npm install

Jika tidak berfungsi setelah menambahkan simulator iPhone X di XCode

  1. Hapus node_modules
  2. Hapus yarn.lock atau package-lock.json
  3. Jalankan yarn atau npm install

Hapus file kunci mungkin bermasalah dalam keadaan tertentu. Lakukan dengan hati-hati

Jika Anda hanya ingin menjalankan perangkat tertentu. Mungkin hilang dalam daftar Simulator. Untuk menambahkan perangkat lakukan langkah-langkah berikut:

1) Buka Xcode
2) Tekan Command+Shift+2 itu akan membuka opsi Perangkat & Simulator.
3) Buka tab Simulator dan tekan ikon + di kiri bawah dan tambahkan iPhone X atau perangkat hilang yang Anda inginkan.

Mohon coba solusi ini. Mungkin berhasil untuk Anda.

https://github.com/facebook/react-native/issues/24450#issuecomment -516760157

Saya menemukan ini yang paling sederhana,

react-native run-ios --simulator "iPhone 11 Pro Max"

Ini sepertinya tidak menjadi masalah lagi bagi saya. Mungkin beberapa pembaruan sementara itu memperbaikinya?

Saran @danielcampo untuk meningkatkan CLI telah memperbaikinya untuk saya.

Saya harus menambahkan ini ke package.json saya:
"@react-native-community/cli": "@^1.12.0", karena, untuk beberapa alasan, kunci tidak akan memutakhirkan paste 1.11.2 tanpanya.

Sekarang ia menemukan simulator tanpa masalah.

Diperbarui ke xcode 11. tidak dapat menemukan perangkat.
Masalahnya adalah dengan menafsirkan output xcrun simctl list --json devices yang digunakan oleh skrip untuk mengetahui perangkat yang diinstal.
Masuk ke kode findMatchingSimulator. dalam kondisi menyatakan

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES'
            ) {
                continue
            }

menambahkan bentuk baru isAvailable (Yang sekarang menjadi boolean biasa):

            if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== 'YES' &&
                simulator.isAvailable !== true
            ) {
                continue
            }

ini menyelesaikan masalah.

Ini berhasil bagi saya! Terimakasih teman!

Jika seseorang masih mencari file findMatchingSimulator.js untuk mengeditnya secara manual, saat ini Anda dapat menemukannya di jalur ini:
node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Saya harap ini membantu seseorang di telepon!

Ingat juga untuk memberikan versi IOS dalam tanda kurung:

--simulator "iPhone 11 Pro Max (13.2)"

@elvinlemus saya punya

react-native-cli: 2.0.1
react-native: 0.61.5

Dan saya ingin mengubah simulator default "iPhone X"
Saya mencoba menjalankan react-native run-ios --simulator='iPhone XR' Atau Lainnya
tetapi setiap kali hanya iPhone X yang diluncurkan

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

axelg12 picture axelg12  ·  3Komentar

vikeri picture vikeri  ·  3Komentar

jlongster picture jlongster  ·  3Komentar

despairblue picture despairblue  ·  3Komentar

lazywei picture lazywei  ·  3Komentar