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
yarn add react-native-onesignal
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
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!