Ketika saya menjalankan proyek reaksi-asli, saya mendapatkan kesalahan no bundle URL present
, tetapi saya tidak tahu kesalahan apa yang saya lakukan, saya sangat bingung.
ios
reactjs
react-native
Yingch Xue
sumber
sumber
rm -rf ios/build/
watchman watch-del-all
Jawaban:
Selesaikan kesalahan
No bundle URL present
dengan:rm -rf ios/build/; kill $(lsof -t -i:8081); react-native run-ios
echo "alias rni=\"kill \$(lsof -t -i:8081); rm -rf ios/build/; react-native run-ios\"" >> ~/.bashrc; source ~/.bashrc
Sekarang Anda dapat menjalankan React Native iOS build (tanpa khawatir tentang beberapa layar kesalahan merah umum yang muncul) dengan shortcut alias sederhana:
rni
sumber
Saya juga mengalami masalah ini (pertama kali memulai dengan React Native). Masalahnya menghilang ketika - saat simulasi ios (
react-native run-ios
) berjalan - saya berlarinpm install
dan kemudianreact-native run-ios
lagi. Di jendela terminal, itu menunjukkan bahwa itu bundling, dan kemudian simulator menunjukkan layar selamat datang.Periksa tautan ini untuk mendapatkan brief setelahnya
react-native init PropertyFinder
baris coba gunakannpm start
(Yang ini cocok untuk saya)================================================== ======================
UPDATE untuk 16,9
Port saya 8081 diblokir oleh McAfee. Menggunakan port yang berbeda secara langsung tidak berfungsi
react-native start --port=8082
danreact-native run-ios --port=8082
Mencoba hampir semua solusi yang diberikan di sini. tetapi segala sesuatu tidak berhasil.
Larutan:
Mencari 8081 di Xcode dan mengganti semuanya dengan 8082. Kemudian jalankan perintah yang sama untuk membangun dan menjalankan aplikasi. Aplikasi bekerja dengan lancar
sumber
Punya masalah yang sama ketika saya bundel aplikasi saya. Periksa apakah Anda
main.jsbundle
ditargetkan ke Proyek utama Andasumber
Seperti yang diperintahkan dalam pesan kesalahan:
Menjalankan perintah berikut berhasil:
sumber
Masalah ini terjadi ketika Anda tidak mengizinkan koneksi tidak aman melalui localhost, atau mungkin Anda mencoba menerima koneksi tidak aman melalui http.
Untuk memperbaikinya, tambahkan ini di
info.plist
:sumber
localhost
ke alamat jaringan lokal saya di Info.plist dan karenanya tidak menyelesaikan. Saya menambahkan blok untuk 'localhost' sebagai domain pengecualian dan berhasil.Tutup simulator dan terminal Anda. Buka yang baru dan buka proyek Anda, lalu tingkatkan versi asli Anda seperti ini:
Masalah dalam: Rekursi tak terbatas di RCTFatal ketika bundel gagal dieksekusi .
sumber
Alasan:
Ini karena aplikasi tidak dapat menemukan server (yang melayani UI - dengan kode javascript).
Larutan:
npm run start
atauyarn start
pertamaLoading dependency graph, done.
)react-native run-ios/android
Penjelasan:
React Native hadir dengan 2 bagian:
Membangun perintah:
react-native run-ios/android
adalah untuk membangun bagian asli kemudian menyebar ke perangkat dan memulai aplikasi pada perangkat (simulator / emulator / perangkat nyata). Ini biasanya memakan waktu 3 ~ 4 menit untuk selesai.npm run start
atauyarn start
untuk membangun bagian javascript dan mulai server dev untuk melayani UI yang dibangun ke aplikasi. Ini biasanya membutuhkan waktu 30 detik untuk menyelesaikannya.=> Biasanya, bagian javascript selesai terlebih dahulu kemudian bagian asli datang kemudian. (berdasarkan waktu yang mereka gunakan).
=> ini hanya berlaku untuk build pertama kali (fresh build).
=> untuk membangun kembali:
Bagian asli hanya butuh 10 ~ 15 detik untuk memeriksa perubahan dan karena tidak ada perubahan untuk bagian asli => dilakukan sebelum bagian javascript dibuat dan disajikan. (Saya tidak yakin bagian javascript dibangun kembali atau tidak tetapi butuh waktu lama daripada bagian asli)
Jadi itu sebabnya kami memiliki masalah ini, aplikasi berjalan dan diperlukan hal yang belum ada.
Bonus:
react-native run-ios/android
akan otomatis memulai server dev untuk Anda.react-native run-ios/android
setelahnyareact-native init <app_name>
, semuanya berjalan dengan baik. (Karena fitur mulai otomatis dan waktu yang diperlukan untuk membangun baru seperti keadaan di atas).Waktu yang digunakan untuk jawaban ini relatif terhadap mesin saya => mungkin berbeda pada yang lain.
sumber
Coba jalankan kode ini:
$ sudo xcodebuild -license
Ini dapat memperbaiki masalah. Ini bekerja untuk saya.
sumber
Saya memiliki kesalahan yang sama dan dapat menjalankan aplikasi hanya melalui Xcode.
react-native run-ios
tidak bekerja. Untuk mengatasi masalah ini, Anda harus menghapusbuild
folder diYOUR_PROJECT/ios/build/
. Setelah ini, Anda harus dapat menjalankan aplikasireact-native run-ios
lagi. Semoga ini membantu.sumber
Sebagian besar kasus masalah ini terjadi ketika pencarian DNS / pencarian IP gagal menemukan localhost.
Solusi:
Coba tambahkan ip localhost ke file host Anda dll.
Anda dapat menambahkan baris di bawah ini ke file host dll (/ etc / hosts)
127.0.0.1 localhost
255.255.255.255 broadcasthost
:: 1 l. ocalhost
Untuk mengkonfirmasi ini adalah masalah Anda dapat menekan bundel url pada safari (jika Anda mencobanya di chrome ini akan menyelesaikan tetapi safari tidak akan dapat menyelesaikannya). http: // localhost: 8081 / index.ios.bundle? platform = ios & dev = true & minify = false
sumber
Pastikan pengaturan ATS Anda benar dalam file .plist.
Anda dapat menemukan file di /ios/{{project_name}}/Info.plist
localhost harus didefinisikan sebagai target permintaan pengecualian seperti ini:
* (jangan lupa untuk menghapus ini pada versi rilis ..)
sumber
Bagi saya masalahnya adalah tidak bisa membuat bundel JS. Itu tidak menyatakan kesalahan saat membangun dari Xcode sehingga tidak ada cara bagi Anda untuk mengetahui hal ini. Untuk menemukan kesalahan, jalankan perintah berikut.
react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle
Bagi saya kesalahan adalah sesuatu dengan komponen PureRenderMixin yang hilang. Solusinya dapat ditemukan di sini: https://github.com/facebook/react-native/issues/13078 . Pada dasarnya Anda harus menginstal [email protected] secara manual. Ini dapat dilakukan melalui menjalankan perintah ini.
npm i --save [email protected]
Masalah ini sekarang terjadi untuk semua orang karena versi baru dari alpha reaksi sedang dirilis (terutama alpha.5) dan mereka melanggar build asli-reaksi.
sumber
"plugins": ["transform-decorators-legacy"]
ke file .babelrc Anda. Atau coba dengan HOC yang terhubung.The node type SpreadProperty has been renamed to SpreadElement
dan@babel
pustaka referensi di dalamnyanode_modules
, saya tidak menemukan apa pun yang telah mengatasi ini.Solusi ->
npm start
kemudian buka Terminal baru dan pergi ke jalur proyek Anda dan kemudian tekanreact-native run-ios
itu berfungsi untuk sayasumber
Apa yang menyelesaikannya untuk saya:
cd
keYOUR_PROJECT/ios
rm -r build
react-native run-ios
lagiAtau, Anda dapat membuka Finder, menavigasi ke
YOUR_PROJECT/ios
dan menghapusbuild
folder.Kemudian jalankan
react-native run-ios
lagi.Sumber: Andrew Bancroft
sumber
Ini adalah masalah dengan react-native v0.42.1. Cobalah untuk menutup semua instance terminal dan XCode dan jalankan:
sumber
pertama tutup simulator, kemudian jalankan ini di terminal
sumber
Jalankan saja di Terminal
react-native start
:Ini akan memulai pemaket, sekarang jangan tutup jendela terminal ini, di jendela terminal lain jalankan proyek Anda. Ini adalah satu-satunya keinginan yang saya temukan untuk membuatnya berfungsi dengan baik.
sumber
Saya telah menemukan cara termudah / tercepat untuk mem-bypass ini adalah keluar dari aplikasi dalam simulator (2 x
Cmd + Shift + H
) dan meluncurkan kembali.sumber
Saya punya masalah yang sama. Tapi masalah saya adalah Mac dan iPhone saya tidak berada di jaringan wifi yang sama.
Jadi pastikan mereka semua dalam jaringan yang sama dan membangun kembali sekali lagi. Jika tidak, cobalah solusi yang disebutkan oleh anggota lain di sini.
sumber
periksa proxy jaringan Anda, lebih baik matikan saja.
atau Anda harus menemukan cara lain untuk menjaga server packager
sumber
Itu juga terjadi pada saya, setelah me-restart mac saya. Ada jendela terminal launchPackager terbuka ketika Anda menjalankan aplikasi pada simulator. Saya menutup jendela itu dan menghentikan prosesnya (saya juga menutupnya dengan simulator), kemudian menjalankan lagi run-ios yang asli dan semuanya bekerja dengan baik.
sumber
Dalam kasus saya masalahnya diperbaiki dengan me-restart
adb
server:adb kill-server && adb start-server
sumber
Saya memiliki masalah ini terjadi pada saya juga ... masalahnya adalah packer tidak berjalan sepertinya mungkin karena shell default saya adalah zsh. ban asli bereaksi untuk membuka jendela terminal baru dan berlari
.../node_modules/react-native/packager/launchPackager.command
tetapi ini tidak berjalan. Menjalankannya secara manual (dan membuatnya tetap berjalan) memperbaiki ini untuk saya.sumber
periksa kunci 'localhost' Anda di NSExceptionDomains dicto.plist
jika tidak ada, itu menyebabkan kesalahan.
sumber
Dengan asumsi bahwa Anda menggunakan
nvm
dan beberapa versi node diinstal, berikut adalah solusinya:npm install -g react-native-cli
dinode v6.9.5
.node v6.9.5
default dengan menjalankannvm alias default 6.9.5
react-native run-ios
Masalahnya adalah, Anda memiliki beberapa versi node diinstal melalui
nvm
dan untuk menginstalreact-native-cli
Anda telah beralih atau menginstal versi terbaru dari node, yang belum ditandai sebagai node default untuk menunjuknvm
belum. Ketika Anda menjalankanreact-native run-ios
ini membuka jendela terminal baru lain di mana defaultnvm
tidak menunjuk ke versi node di mana Anda telah menginstalreact-native-cli
. Ikuti saja pengaturan di atas, saya harap itu akan membantu.sumber
pastikan Anda memiliki .jsbundle di proyek Anda
Menambahkan
dalam kode asli reaksi Anda, coba buka kembali proyek
sumber
Saya bekerja dengan
RN 0.49.5
. Saya sudah mencoba banyak metode, tetapi tidak ada yang berhasil. Akhirnya saya menyelesaikan ini. Sederhana dan mudah.Gagasan utamanya adalah mengubah
localhost
to127.0.0.1
, tapi itu bukan tempat RN memberi tahu Anda. Ada dalam host RCTBundleURLProvider.m # - (BOOL) isPackagerRunning: (NSString *) .Perubahan kode:
oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1";
Ini tidak masalah untuk simulator. Jika itu perangkat, cukup ubah alamat ip ke perangkat Anda.sumber
Hal lain yang bekerja untuk saya, adalah membuka proyek dalam xcode, dan kemudian membersihkan dan membangunnya. biasanya itu menjalankan kembali server pengemasan dan memecahkan masalah.
sumber
Jalankan perintah di bawah ini:
itu akan membuka launchpackager.command dan aplikasi akan diinstal pada simulator ios
sumber
Pastikan
launchPackage.command
berjalan di terminal dan coba jalankan lagi. Itu akan membangun bundel. Ini seperti webpack-dev-server.sumber