React-native-onesignal: Pembangunan IOS Gagal dengan: "ld: perpustakaan tidak ditemukan untuk -lreact-native-onesignal"

Dibuat pada 17 Feb 2021  ·  4Komentar  ·  Sumber: OneSignal/react-native-onesignal

Keterangan:

Ikuti panduan React Native & Expo SDK Setup . Setelah menyelesaikan langkah 5, saya mencoba membangun aplikasi saya di XCode. Pembangunan gagal dengan kesalahan berikut:

ld: library not found for -lreact-native-onesignal
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Saya mencoba mengikuti langkah-langkah penautan manual tetapi menemukan kesalahan yang sama. Ingin tahu ada yang menemukan solusi untuk ini?

Terima kasih!

Lingkungan

  • Menambahkan SDK ke proyek dengan yarn add react-native-onesignal
  • reaksi-asli-onesignal: 4.0.3
  • reaksi-asli: 0.63.3
  • Kode X: 12.4
  • Kakaopod: 1.10.1

Podfile

require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

platform :ios, '11.0'

target 'OneSignalNotificationServiceExtension' do
  pod 'OneSignal', '>= 3.0', '< 4.0'
end

target 'WellnessReactNative' do
  config = use_native_modules!

  use_react_native!(:path => config["reactNativePath"])

  pod 'Stripe', '~> 19.0.1'
  pod 'tipsi-stripe', :path => '../node_modules/tipsi-stripe'

  # Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable these next few lines.
  # use_flipper!
  post_install do |installer|
    installer.pods_project.targets.each do |target|
      if target.name == 'react-native-config'
        phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
        phase.shell_script = "cd ../../"\
        " && RNC_ROOT=./node_modules/react-native-config/"\
        " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
        " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"

        target.build_phases << phase
        target.build_phases.move(phase,0)
      end
    end
    # flipper_post_install(installer)
  end
end

Langkah-langkah untuk Mereproduksi Masalah:

  • Ikuti panduan React Native & Expo SDK Setup

  • Bangun aplikasi di XCode
  • Help Wanted iOS

    Semua 4 komentar

    apa kabar,
    Coba jalankan pod deintegrate && pod install dari direktori ios . Jika itu tidak berhasil, coba jalankan build bersih. Jika tidak ada yang berhasil, coba hapus Data Turunan Anda.

    Hai @rgomezp ,

    Terima kasih telah membalas! Saya mencoba saran Anda tetapi mengalami kesalahan yang sama.

    Saya berpikir pada titik ini saya perlu menautkan perpustakaan secara manual karena tautan otomatis tidak berfungsi. Saya mengatur tautan manual setelah membersihkan semuanya. Dan saya melihat kesalahan berikut di RCTOneSignalExtensionService.m:

    node_modules/react-native-onesignal/ios/RCTOneSignal/RCTOneSignalExtensionService.m:4:9: 'OneSignal.h' file not found
    

    Memeriksa direktori "Frameworks" di RCTOneSignal.xcodeproj sepertinya referensi OneSignal.h menunjuk ke node_modules/react-native-onesignal/ios/OneSignal.h . Tapi file ini tidak ada. Mungkinkah itu memengaruhi penautan manual?

    Ada pembaruan tentang ini? Menghadapi masalah yang sama setelah memperbarui ke Xcode 12.

    Hai @hugoh59 ,

    Masalah bagi saya adalah bahwa Cocoapods saya tidak memperbarui jalur pencarian perpustakaan saya. Masih belum yakin kenapa...

    Saya memperbaiki pemasangan saya dengan menambahkan ${PODS_CONFIGURATION_BUILD_DIR}/react-native-onesignal manual ke Library Search Paths (Build Settings > Search Paths > Library Search Paths) di target utama saya.

    Semoga ini membantu!

    Apakah halaman ini membantu?
    0 / 5 - 0 peringkat