React-native-onesignal: React-asli 0.60 -lPods-OneSignalNotificationExtension tidak ditemukan

Dibuat pada 2 Sep 2019  ·  20Komentar  ·  Sumber: OneSignal/react-native-onesignal

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:

  • Jalur pencarian tajuk: "${PODS_ROOT}/Headers/Public/react-native-onesignal"
  • Jalur pencarian kerangka kerja: "${PODS_ROOT}/OneSignal/iOS_SDK/OneSignalSDK/Framework"

Lingkungan Hidup

  • versi reaksi-asli-onesignal: 3.3.2
  • reaksi-asli: 0.60.5

Langkah-langkah untuk Mereproduksi Masalah:

  1. Mengikuti pengaturan RN: https://documentation.onesignal.com/docs/react-native-sdk-setup
  2. Jalankan proyek xcode
  3. Berharap untuk melihat: ld: library not found for -lPods-OneSignalNotificationServiceExtension
Help Wanted

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
image

OneSignalNotificationExtension (atau apa pun yang Anda beri nama ke ekstensi notifikasi)
image

Semua 20 komentar

apa kabar,
Kami merilis versi baru kemarin. Bisakah Anda memperbarui dan mencoba lagi? Coba juga bersihkan folder DerivedData Anda yang terletak di /Users//Perpustakaan/Pengembang/Xcode/Data Berasal

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:
Capture d’écran 2020-01-08 à 17 07 06

arsip berhasil 👍
Capture d’écran 2020-01-08 à 17 16 44

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 isi NotificationService.m dengan kode terbaru di DOC. Saya masih menggunakan RCTOneSignalExtensionService.h . Setelah memperbarui, kesalahan hilang.

Ini tidak bekerja untuk saya

  • satu sinyal (3.6.2)
  • reaksi-asli (0.60.0)

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
image

OneSignalNotificationExtension (atau apa pun yang Anda beri nama ke ekstensi notifikasi)
image

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat