Deskripsi:
Saya telah memutakhirkan ke React-native 0.60 dan telah mengikuti langkah-langkah instalasi onesignal seperti yang ditunjukkan di sini: https://documentation.onesignal.com/docs/react-native-sdk-setup
Ketika saya harus menjalankan aplikasi xcode, saya mendapatkan kesalahan terkait dengan OnesignalNotificationExtension.
Kesalahan : ld: library not found for -lPods-OneSignalNotificationServiceExtension
Target OneSignalNotificationServiceExtension memiliki pengaturan berikut:
"${PODS_ROOT}/Headers/Public/react-native-onesignal"
"${PODS_ROOT}/OneSignal/iOS_SDK/OneSignalSDK/Framework"
Lingkungan Hidup
Langkah-langkah untuk Mereproduksi Masalah:
ld: library not found for -lPods-OneSignalNotificationServiceExtension
apa kabar,
Kami merilis versi baru kemarin. Bisakah Anda memperbarui dan mencoba lagi? Coba juga bersihkan folder DerivedData Anda yang terletak di /Users/
Hal terakhir yang harus dicoba adalah pembaruan pod dari direktori ios
@jamesone apakah anda memecahkan masalah ini? Jawaban dari @rgomezp tidak membantu.
@rgomezp tidak ada saran di atas yang berfungsi, menggunakan rilis terbaru 3.4.1. Bisa dilakukan dengan perhatian pada masalah ini. Dipaksa untuk menghapus OneSignalNotificationExtension hingga terselesaikan, senang mencoba saran/rilis lainnya.
+1 mengikuti!
apa kabar,
Silakan coba jalankan pod deintegrate && pod install
dari direktori ios di proyek Anda
Saran di atas tidak berfungsi. Sudah diperbarui ke rilis terbaru v3.4.1, bersihkan data turunan, bersihkan pod dan instal ulang tetapi masih mendapatkan kesalahan:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_RCTOneSignalExtensionService", referenced from:
objc-class-ref in NotificationService.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Podfile.lock
- react-native-onesignal (3.4.1):
- OneSignal (= 2.11.0)
- React (< 1.0.0, >= 0.13.0)
MEMPERBARUI:
Salahku. Ternyata saya perlu mengganti isi NotificationService.m
dengan kode terbaru di DOC. Saya masih menggunakan RCTOneSignalExtensionService.h
. Setelah memperbarui, kesalahan hilang.
Senang mendengarnya! Silakan berkomentar jika Anda masih berjuang dengan masalah ini dan saya dapat membuka kembali
Masih masalah di RN:0.60.10 dengan pod.
bagaimana cara menggunakan pod dengan itu?
Hai,
Saya memiliki masalah yang sama ld: library not found for -lPods-OneSignalNotificationServiceExtension
Saya menggunakan react-native 0.61.4 dan onesignal 3.6.1
dengan deintegrasi dan pembersihan pod dan DerivedData
Saya telah menemukan, tetapi saya tidak tahu mengapa, ketika saya tidak memiliki konfigurasi "Rilis" dalam daftar konfigurasi saya, "arsip" gagal dengan perpustakaan tidak ditemukan.
arsip gagal:
arsip berhasil 👍
Untuk informasi Anda, Dev, Preprod & Prod didasarkan pada Rilis. Itu bekerja tanpa "Rilis" pada proyek lama saya dengan onesignal
Perbarui @rgomezp :
- Buat proyek reaksi-asli baru
- Tambahkan Onesignal
- bangun & arsipkan > tidak apa-apa
- Ganti nama konfigurasi "Lepaskan" ke nama lain (seperti Dev)
- build & arsip > ld: perpustakaan tidak ditemukan untuk -lPods-OneSignalNotificationServiceExtension
Saran di atas tidak berfungsi. Sudah diperbarui ke rilis terbaru v3.4.1, bersihkan data turunan, bersihkan pod dan instal ulang tetapi masih mendapatkan kesalahan:
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_RCTOneSignalExtensionService", referenced from: objc-class-ref in NotificationService.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Podfile.lock
- react-native-onesignal (3.4.1): - OneSignal (= 2.11.0) - React (< 1.0.0, >= 0.13.0)
MEMPERBARUI:
Salahku. Ternyata saya perlu mengganti isiNotificationService.m
dengan kode terbaru di DOC. Saya masih menggunakanRCTOneSignalExtensionService.h
. Setelah memperbarui, kesalahan hilang.
Ini tidak bekerja untuk saya
Memiliki masalah yang sama saat ini. -lPods-OneSignalNotificationServiceExtension
gagal saat saya menambahkan skema baru. Ada pembaruan tentang itu?
sama
Saya memiliki masalah yang sama setelah memutakhirkan reaksi-asli
Ini memperbaiki masalah saya https://github.com/OneSignal/react-native-onesignal/issues/651#issuecomment -429062289
Saya memiliki masalah yang sama ketika memutakhirkan versi RN ke 0.63.2 dan mencoba mengarsipkan aplikasi dan saya telah diperbaiki
dengan ini.
Itu adalah ketidakcocokan versi antara versi yang saya tentukan di Podfile dan versi Target yang
Saya mengatur untuk ekstensi OneSignal. Segera setelah saya memodifikasi kedua nilai tersebut agar cocok satu sama lain,
masalah itu hilang.
Podfile
OneSignalNotificationExtension (atau apa pun yang Anda beri nama ke ekstensi notifikasi)
Saya memiliki masalah yang sama tetapi tidak ada tips di atas yang menyelesaikan masalah saya.
Saya memiliki 2 proyek yang sangat mirip: satu yang berfungsi dan yang lainnya tidak berfungsi.
Dalam langkah-langkah pembuatan dan pengarsipan xcode baik-baik saja tetapi pada CI saya atau di komputer saya perintah di bawah ini berhasil pada satu proyek tetapi gagal di yang lain
xcodebuild "-workspace" "/Users/vagrant/git/packages/mobile-pro/ios/WecasaPro.xcworkspace" "-scheme" "WecasaPro" "-configuration" "Staging" "COMPILER_INDEX_STORE_ENABLE=NO" "archive" "-archivePath" "/var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/__archive__581470914/WecasaPro.xcarchive" "-destination" "generic/platform=iOS" | xcpretty
Jika saya melihat log dari perintah. Untuk proyek yang berhasil saya miliki
▸ Building Pods/Pods-OneSignalNotificationServiceExtension [Staging]
▸ Check Dependencies
▸ Compiling Pods-OneSignalNotificationServiceExtension-dummy.m
▸ Compiling Pods-OneSignalNotificationServiceExtension-dummy.m
▸ Building library libPods-OneSignalNotificationServiceExtension.a
▸ Building library libPods-OneSignalNotificationServiceExtension.a
▸ Building WecasaPro/OneSignalNotificationServiceExtension [Staging]
▸ Check Dependencies
▸ Processing Info.plist
▸ Running script '[CP] Check Pods Manifest.lock'
▸ Compiling NotificationService.m
▸ Linking OneSignalNotificationServiceExtension
▸ Generating 'OneSignalNotificationServiceExtension.appex.dSYM'
▸ Touching OneSignalNotificationServiceExtension.appex
▸ Signing /Users/vagrant/Library/Developer/Xcode/DerivedData/WecasaPro-fuytaarwfdjqjucxpzvnzgjrhcvd/Build/Intermediates.noindex/ArchiveIntermediates/WecasaPro/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/OneSignalNotificationServiceExtension.appex
▸ Touching OneSignalNotificationServiceExtension.appex.dSYM
Untuk proyek yang tidak berhasil, saya punya
▸ Compiling Pods-OneSignalNotificationServiceExtension-dummy.m
▸ Compiling Pods-OneSignalNotificationServiceExtension-dummy.m
▸ Running script 'Copy generated compatibility header'
▸ Building library libPods-OneSignalNotificationServiceExtension.a
Saya memeriksa konfigurasi kedua proyek beberapa kali dan tampaknya serupa.
Apakah ada yang punya petunjuk tentang apa yang dapat menyebabkan ini?
Setelah membandingkan log saya untuk dua proyek, saya menemukan bahwa yang berhasil menggunakan sistem build lama tetapi yang lain menggunakan sistem build baru.
Saya mengalihkan proyek ke sistem build lawas tetapi masalahnya masih ada.
Pada proyek yang berhasil saya miliki
CompileC /Users/scesbron/Library/Developer/Xcode/DerivedData/WecasaPro-guwmidkqvxjubvhfovvxnfhourjd/Build/Intermediates.noindex/ArchiveIntermediates/WecasaPro/IntermediateBuildFilesPath/Pods.build/Staging-iphoneos/Pods-OneSignalNotificationServiceExtension.build/Objects-normal/arm64/Pods-OneSignalNotificationServiceExtension-dummy.o Target\ Support\ Files/Pods-OneSignalNotificationServiceExtension/Pods-OneSignalNotificationServiceExtension-dummy.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
lalu
Libtool /Users/scesbron/Library/Developer/Xcode/DerivedData/WecasaPro-guwmidkqvxjubvhfovvxnfhourjd/Build/Intermediates.noindex/ArchiveIntermediates/WecasaPro/IntermediateBuildFilesPath/Pods.build/Staging-iphoneos/Pods-OneSignalNotificationServiceExtension.build/Objects-normal/armv7/libPods-OneSignalNotificationServiceExtension.a normal armv7
tetapi di proyek lain setelah kompilasi saya memiliki perintah Ld
Ld /Users/scesbron/Library/Developer/Xcode/DerivedData/wecasa-hcsnerxmdxdzhhhetgrrfvjexliq/Build/Intermediates.noindex/ArchiveIntermediates/wecasa/IntermediateBuildFilesPath/wecasa.build/Release-iphoneos/OneSignalNotificationServiceExtension.build/Objects-normal/armv7/OneSignalNotificationServiceExtension normal armv7
Saya tidak tahu apa perbedaan antara perintah ini dan saya tidak tahu mengapa urutannya tidak sama
Komentar terakhir tentang masalah saya. Saya menghapus target OneSignalNotificationServiceExtension, file objektif-c terkait dan referensi ke OneSignal di podfile saya. Perintah xcodebuild
berhasil.
Saya telah menambahkan kembali satu sinyal dengan melakukan semua langkah yang dijelaskan dalam dokumen https://documentation.onesignal.com/docs/react-native-sdk-setup
Setelah itu perintah xcodebuild
masih gagal
Ld /Users/scesbron/Library/Developer/Xcode/DerivedData/wecasa-hcsnerxmdxdzhhhetgrrfvjexliq/Build/Intermediates.noindex/ArchiveIntermediates/wecasa/IntermediateBuildFilesPath/wecasa.build/Release-iphoneos/OneSignalNotificationServiceExtension.build/Objects-normal/armv7/Binary/OneSignalNotificationServiceExtension` normal armv7
folder /Users/scesbron/Library/Developer/Xcode/DerivedData/wecasa-hcsnerxmdxdzhhhetgrrfvjexliq/Build/Intermediates.noindex/ArchiveIntermediates/wecasa/IntermediateBuildFilesPath/wecasa.build/Release-iphoneos/OneSignalNotificationServiceExtension.build/Objects-normal/armv7/Binary
kosong, tidak berisi file OneSignalNotificationServiceExtension
.
Saya memiliki masalah yang sama
Begitu...
Ini sangat sulit untuk dilacak, saya harus membuat ulang proyek RN 064.1 baru untuk benar-benar menemukan perbaikan untuk masalah saya. Saya menggunakan skema dalam proyek saya dan saya menerapkan perbaikan sehingga akan dibangun dengan benar di M1.
Karena proyek telah diperbarui untuk menggunakan OneSignalXCFramework
alih-alih kerangka lama yang gemuk, saya memutuskan untuk memperbarui NSE untuk menggunakannya juga di Podfile.
Menghadapi banyak masalah di mana modul tidak ditemukan, termasuk yang ini selama membangun rilis, membangun atau membangun ke simulator atau perangkat
Ternyata bagian yang mengacaukan kode saya dan menyebabkan seluruh masalah tidak berfungsi adalah bagian berikut ini di Podfile
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[iphonesimulator=*]"] = "arm64"
end
Pada akhirnya saya hanya harus menerapkannya ke build debug dan bukan rilis build. Saya bukan pengembang iOS, jadi saya tidak tahu seluk-beluk tentang bagaimana mengecualikan simulator dari arsitektur akan menyebabkan Pod tidak terdeteksi untuk NSE tetapi itu adalah masalah saya.
Menghapus seluruh blok adalah yang memperbaikinya untuk saya. Sepertinya itu tidak diperlukan lagi untuk proyek saya setidaknya.
Komentar yang paling membantu
Saya memiliki masalah yang sama ketika memutakhirkan versi RN ke 0.63.2 dan mencoba mengarsipkan aplikasi dan saya telah diperbaiki
dengan ini.
Itu adalah ketidakcocokan versi antara versi yang saya tentukan di Podfile dan versi Target yang
Saya mengatur untuk ekstensi OneSignal. Segera setelah saya memodifikasi kedua nilai tersebut agar cocok satu sama lain,
masalah itu hilang.
Podfile
OneSignalNotificationExtension (atau apa pun yang Anda beri nama ke ekstensi notifikasi)