React-native-onesignal: simbol tidak ditemukan untuk arsitektur x86_64

Dibuat pada 14 Apr 2016  ·  25Komentar  ·  Sumber: OneSignal/react-native-onesignal

Hai,

Saya mengalami masalah saat mengimpor ini ke proyek RN (bermigrasi dari Parse!).

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_OneSignal", referenced from:
      objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ini terlihat sangat mirip dengan https://github.com/geektimecoil/react-native-onesignal/issues/5 meskipun arsitekturnya berbeda.

Saya cukup asing dengan ObjectiveC tetapi senang membantu di mana saya bisa dan akan mengeluarkan PR jika saya dapat dipandu sesuai kebutuhan. Semoga seseorang dapat membantu saya!

Terima kasih
Ollie

Komentar yang paling membantu

Saya memiliki masalah yang sama persis dengan @olliebrennan , menyelesaikannya dengan:

  1. seret folder node_modules/react-native-onesignal/ios/Frameworks ke RCTOneSignal.xcodeproj di bawah panel kiri XCode
  2. sekali di panel kiri, seret OneSignal.framework ke Link Binary with Libraries

Semua 25 komentar

@olliebrennan apakah Anda berhasil menyelesaikan masalah ini? Saya mencari melalui komit untuk # 5 untuk mencari tahu apa yang harus dilakukan. Saya seorang pengembang JS, bukan pengembang iOS, jadi saya tidak terbiasa dengan berbagai pengaturan.

Mungkin @jkasten2 bisa membantu disini?

@jamiemchale saya tidak. Punya masalah yang sama seperti Anda, jadi tinggalkan aplikasi saya menggunakan Parse sampai perbaikan datang. Senang membantu jika saya bisa tetapi seperti yang Anda katakan, saya juga tidak terbiasa dengan bahasa / pengaturan iOS.

@olliebrennan @avishayil
Jika Anda menginstal plugin OneSignal dengan pod Kakao, itu mungkin tidak mereferensikan kerangka kerja asli OneSignal ke proyek utama. Anda dapat menjatuhkan dan menyeret OneSignal.framework dari Finder ke XCode yang seharusnya memperbaiki kesalahan tautan. Anda mungkin harus memilih "Salin item jika diperlukan" jika tidak berfungsi tanpanya.

image

image

Terakhir pastikan Anda menggunakan Xcode 7.0 atau lebih tinggi karena versi Xcode yang lebih lama akan menghasilkan kesalahan yang sama persis di sini.

Terima kasih @jkasten2
Saya memiliki rilis yang akan keluar dalam beberapa hari ke depan kemudian akan mencoba ini dan melaporkan kembali.

Bersulang

+1 memiliki masalah serupa di OSX

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_OneSignal", referenced from:
      objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Saya kehilangan OneSignal.framework . Mencoba menyeret appname/node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework ke Pustaka XCode. Masih tidak bekerja.

Mencoba appname/ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework juga, tidak berhasil.

@olliebrennan Apakah Anda berhasil menyelesaikan masalah?

Saya memiliki masalah yang sama persis dengan @olliebrennan , menyelesaikannya dengan:

  1. seret folder node_modules/react-native-onesignal/ios/Frameworks ke RCTOneSignal.xcodeproj di bawah panel kiri XCode
  2. sekali di panel kiri, seret OneSignal.framework ke Link Binary with Libraries

Hei @hyperh @olliebrennan apakah Anda berhasil menyelesaikan ini?

@avishayil saya tidak dapat menyelesaikan ini. Saya memutuskan untuk pergi dengan apnagent untuk menangani barang-barang APN saya.

Jika seseorang menemukan kesalahan yang sama, harap laporkan. Saya menutup masalah ini untuk saat ini.

@avishayil saya punya masalah ini. Mencoba mengikuti instruksi @ whollacsek tetapi saya masih mendapatkan kesalahan yang sama di XCode.

screenshot 2016-06-03 15 40 31

Masalah yang sama seperti @chrissm79 dan lainnya

Saya baru saja sampai di sini dan ya, masalah yang sama.

+1

Melihat ke dalamnya. Adakah langkah-langkah reproduksi?

Saya mengalami masalah ini dan dapat memperbaikinya dengan mengklik dan menyeret ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework dari Finder ke folder Kerangka proyek XCode saya.

Masalah persis sama dengan @chrissm79

Sunting: Dipecahkan dengan mengunduh kerangka kerja dan menautkannya dari tautan yang didokumentasikan daripada menggunakan kerangka kerja di folder node_modules.

Anda memiliki contoh proyek untuk referensi dan bermain, harap pastikan
Anda mengikuti semua perintah, tidak akan terjadi kesalahan.
Pada 2 Juli 2016 12:37, "Charles Hulcher" [email protected] menulis:

Masalah persis sama dengan @ chrissm79 https://github.com/chrissm79


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/18#issuecomment -230052711
atau matikan utasnya
https://github.com/notifications/unsubscribe/AAyekNTkU15t6IP4zvQzg06yXzUf0akHks5qRYiBgaJpZM4IHVBS
.

Saya juga memiliki masalah ini tetapi tidak tahu bagaimana menyelesaikannya

ld: peringatan: mengabaikan file /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd, melewatkan arsitektur yang diperlukan x86_64 dalam file /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd (3 iris)
Simbol yang tidak ditentukan untuk arsitektur x86_64:
"_OBJC_CLASS_$_XCTestCase", dirujuk dari:
_OBJC_CLASS_$__TtC6Camera11toucanTests di toucanTests.o
"_OBJC_METACLASS_$_XCTestCase", dirujuk dari:
_OBJC_METACLASS_$__TtC6Camera11toucanTests di toucanTests.o
ld: simbol tidak ditemukan untuk arsitektur x86_64
dentang: error: perintah tautan gagal dengan kode keluar 1 (gunakan -v untuk melihat permintaan)

saya menggunakan reaksi asli 0,37 dan inilah cara saya membuatnya berfungsi (saya pikir readmes/dokumentasi sedikit di belakang reaksi asli).

  1. pada cabang yang bersih tanpa satu sinyal pun berfungsi ...
  2. jalankan npm install react-native-onesignal --save
  3. jalankan react-native link
  4. untuk iOS ikuti instruksi podfile (pastikan untuk mengikuti catatan versi asli reaksi dengan hati-hati)
  5. untuk iOS ikuti penambahan kode dalam instruksi
  6. untuk android ikuti instruksi android (sebagian besar kode harus ada di sana dari perintah tautan, tetapi periksa kembali semuanya)
  7. untuk Android pastikan untuk menggunakan import com.geektime.reactnativeonesignal.ReactNativeOneSignalPackage; dan BUKAN import com.geektime.rnonesignal.ReactNativeOneSignalPackage; (beberapa dokumentasi lama memiliki rnonesignal dan sejak itu telah diperbarui)
  8. lalu selesaikan konfigurasi dan pengaturan dan semua file
  9. mudah-mudahan itu berhasil untuk Anda ... tolong balas jika Anda memiliki masalah karena saya menghabiskan beberapa waktu di Android dan iOS di beberapa cabang agar ini berfungsi.

YMMV jika Anda menggunakan sesuatu yang lebih rendah dari v0.37 dari RN. semoga beruntung.

Masalah terpecahkan!!

Hanya dari navigator proyek, buka bagian Pods, temukan oneSignal.framework dan seret ke 'Link Binary with libraries' yang terletak di bawah target Anda dan hanya itu!. Jadi pada dasarnya lebih baik hanya menggunakan kerangka kerja daripada file pod.

Dalam kasus saya, saya harus menambahkan baris berikut di podfile dan menjalankan pod install lagi. Kemudian jalankan Clean dan bangun lagi.
pod 'react-native-onesignal', :path => '../node_modules/react-native-onesignal'

Dalam kasus saya, menjalankan proyek React Native 0.39.0 yang lebih lama, saya harus react-native link , Clean membangun dan kemudian Build proyek lagi.

dalam kasus saya libRCTOneSignal.a hilang di perpustakaan Tautan dengan biner yang baru saja saya tambahkan dan masalah terselesaikan

Anda dapat mengikuti langkah kedua di sini https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual -linking

Apakah halaman ini membantu?
0 / 5 - 0 peringkat