Mendapatkan kesalahan ini saat membangun aplikasi iOS react-native di xcode.
Mulai mendapatkan kesalahan ini setelah npm install dan rpm menghubungkan library react-native-fs . Tetapi setelah mencari solusi secara online, saya perhatikan bahwa banyak orang mendapatkan kesalahan yang sama saat menginstal pustaka asli react lainnya.
Sebuah solusi yang mungkin disarankan oleh banyak adalah, Menambahkan berikut di bawah "Pengaturan Build" -> "Header Cari Jalan".
$(SRCROOT)/../node_modules/react-native/React
- (Rekursif)
Namun tidak berhasil dengan solusi ini, masih mendapatkan error yang sama
react-native-webrtc
Jawaban:
Dalam kasus saya, masalah khusus ini terjadi ketika saya mencoba mengarsipkan aplikasi 0,40+ react-native untuk iOS (solusi ditemukan di sini: Build yang andal
^0.39.2
gagal saat meningkatkan ke^0.40.0
).Apa yang terjadi adalah Xcode mencoba untuk membangun perpustakaan react-native secara paralel dan sedang membangun perpustakaan dengan dependensi react implisit sebelum benar-benar membangun perpustakaan react.
Solusi dalam kasus saya adalah:
Nonaktifkan build paralel:
Tambahkan reaksi sebagai ketergantungan proyek
sumber
Pastikan Anda menonaktifkan
Parallelise Build
dan menambahkanReact
target di atas target Andasumber
PERBAIKAN CEPAT (bukan yang terbaik)
Ubah baris header import react-native:
Untuk:
Berikut adalah contoh perubahan yang harus saya buat untuk perpustakaan yang saya coba gunakan: Tutup # 46 - File 'RCTBridgeModule.h' tidak ditemukan .
sumber
#import <React/RCT...h>
? lakukan di sini#import "RCTBridgeModule.h"
benar-benar berfungsi lebih baik untuk saya hari ini.Perubahan
untuk
sumber
Untuk penonton yang mendapatkan kesalahan ini setelah mengupgrade React Native ke 0.40+, Anda mungkin perlu menjalankan
react-native upgrade
di baris perintah.sumber
Jika
Libraries/React.xcodeproj
berwarna merah di xcode maka instal ulang node_modulesProyek saya yang baru dibuat dari react-native 0.46.3 berwarna merah: SI memiliki npm 5.3.0 dan benang 0.24.5 ketika saya melakukan react-native init
sumber
Rilis terbaru dari perpustakaan react-native seperti yang dijelaskan di posting sebelumnya dan di sini memiliki perubahan kompatibilitas yang merusak. Jika Anda tidak berencana untuk mengupgrade ke react-native 0.40+, Anda dapat menginstal paksa versi library sebelumnya, misalnya dengan react-native-fs:
sumber
Saya dapat membuat debug, tetapi saya tidak dapat membuat arsip.
Saya memecahkan masalah ini dengan menyeret yang
React.xcodeproj
ditemukan di / node_modules / react-native / React ke direktori root saya di Xcode, lalu menambahkan React sebagai ketergantungan target dalam fase build> dependensi target.sumber
React.xcodeproj
di/node_modules/react-native/React
.react-native run-ios
, saya mendapatkan kesalahan kompilasi yang tidak terjadi di Xcode. Kurangnya dokumentasi yang relevan membuat frustasi.Setelah React Native 0.60, masalah ini sering kali disebabkan oleh library tertaut yang dicampur dengan fitur 'auto-linking' baru. Ini memperbaikinya untuk saya
Batalkan tautan perpustakaan lama menggunakan
Segarkan integrasi Pod sepenuhnya menggunakan
Sekarang muat ulang ruang kerja Anda dan lakukan pembuatan bersih.
sumber
Kesalahan ini muncul untuk saya setelah saya menjalankan
pod install
perintah untuk dependensi baru. Bersamaan dengan itu, React juga telah diinstal. Oleh karena itu mungkin Xcode bingung untuk jalurnya. Saya menghapus baris ini dari PodFile dan kesalahan telah hilang. Harap dicatat bahwa yang dihapus dari sini sudah ditautkan di Xcode.sumber
Bagi saya, error ini terjadi saat saya menambahkan skema / target baru ( app.staging ) di aplikasi dan menginstal pod menggunakan pod install.
Masalah ini terjadi karena pod tidak dibagikan untuk semua target. Jadi saya perlu menambahkan target yang baru ditambahkan ( app.staging ) di dalam Podfile .
Ini Podfile saya.
sumber
Saya menerima kesalahan ini dalam modul baru yang saya buat dengan create-react-native-module . Tidak ada solusi yang diposting yang berhasil untuk saya.
Apa yang berhasil bagi saya adalah pertama kali memastikan untuk berjalan
yarn
di folder modul yang baru dibuat untuk membuatnode_modules/
(langkah ini mungkin sudah jelas). Kemudian, di XCode, pilih Produk -> Skema -> Bereaksi alih-alih pilihan default MyModuleName.sumber
pod install
. create-react-native-module tampaknya tidak melakukan ini untuk Anda. Membuat saya menutup telepon untuk sementara waktu. Tetapi ini berhasil untuk saya setelah saya membuat podfile yang valid dan menjalankan penginstalan.Buka folder iOS di proyek Anda dan instal pod -
Jika Anda mendapatkan kesalahan dalam pemasangan perintah tipe pod-
Hasilnya harus - /Applications/Xcode.app/Contents/Developer
Jika jalurnya salah, buka proyek iOS Anda di Xcode dan buka: Xcode-> preferensi-> alat baris perintah-> pilih Xcode
Dan menginstal lagi pod masalah Anda akan diperbaiki.
sumber
Saran anhdevit di https://github.com/facebook/react-native/issues/24363#issuecomment-488547280 berhasil untuk saya:
In your terminal, run: defaults delete com.apple.dt.Xcode
sumber
Jika Anda ingin membuatnya dari editor Anda juga buka SMobile.xcscheme
Dan berubah
parallelizeBuildables = "NO"
sumber
Bagi saya tidak berfungsi apa pun dari solusi di atas dan di bawah ini adalah yang berhasil (saya sudah memeriksa
Parallelize Build
dan menambahkanReact
)sumber
Saya mengalami masalah ini saat meningkatkan dari 0.58.4 ke versi react-native baru 0.60.4. Tidak ada dari apa yang saya temukan di internet yang membantu saya, tetapi saya berhasil membuatnya berfungsi:
Pergi ke pengaturan build, cari 'Header search paths', pilih entri, tekan tombol DELETE.
Saya telah mengganti nilai ini, dan sepertinya nilai tersebut kembali ke default setelah dihapus. Juga Cocoapods mengeluhkannya dengan pesan di Terminal setelah
pod install
:sumber
Saya mengalami masalah ini setelah melakukan manual
react-native link
ketergantungan yang tidak mendukung tautan otomatis pada RN 0,59+Solusinya adalah memilih file xcodeproj di bawah folder Libraries di Xcode dan kemudian di Build Settings, ubah Header Search Paths untuk menambahkan keduanya (rekursif):
sumber
Jika Anda ingin tetap mengaktifkan Parallelise Build dan menghindari masalah header yang hilang, berikan langkah pra-build dalam skema Anda untuk meletakkan header react ke dalam area data turunan. Perhatikan pengaturan build berasal dari proyek React dalam kasus ini. Ya, itu bukan keindahan tetapi menyelesaikan pekerjaan dan juga menghemat banyak waktu untuk membangun. Output langkah prebuild berakhir di prebuild.log. Header pasti yang perlu Anda salin akan bergantung pada dependensi react-native project Anda, tetapi Anda akan mendapatkan jistnya dari sini.
Dapatkan direktori data turunan dari variabel lingkungan dan salin header react yang diperlukan.
Skrip dipanggil selama build-clean - yang tidak ideal. Dalam kasus saya, ada satu variabel env yang berubah membiarkan saya keluar dari skrip lebih awal selama pembersihan.
sumber
Anda hanya perlu menginstal pod, jika file pod sudah ada ketik saja
jika tidak: jadi pertama,
kemudian,
di terminal. dan Anda siap untuk pergi.
sumber
Apa yang dapat Anda lakukan untuk melakukannya dengan benar adalah:
1)
npm uninstall reat-native-fs
untuk menghapus pustaka2)
npm unlink react-native-fs
untuk membatalkan tautan perpustakaanSekarang pustaka berhasil dihapus dan sekarang instal lib lagi di proyek Anda dan kali ini tautkan semuanya secara manual. Terkadang penautan otomatis menyebabkan kesalahan ini.
sumber