وصف:
اتبعت دليل إعداد React Native & Expo SDK . بعد إكمال الخطوة 5 ، حاولت إنشاء تطبيقي في XCode. فشل البناء مع الخطأ التالي:
ld: library not found for -lreact-native-onesignal
clang: error: linker command failed with exit code 1 (use -v to see invocation)
حاولت اتباع خطوات الربط اليدوي ولكنني أصبت بنفس الخطأ. أتساءل أي شخص توصل إلى حل لهذا؟
شكرا!
بيئة
yarn add react-native-onesignal
بودفيلي
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
خطوات إعادة إنتاج المشكلة:
مرحبًا ،
حاول تشغيل pod deintegrate && pod install
من دليلك ios
. إذا لم يفلح ذلك ، فحاول تشغيل بنية نظيفة. إذا لم ينجح أي من هؤلاء ، فحاول حذف بياناتك المشتقة.
مرحبا rgomezp ،
شكرا على الرد! لقد أعطيت اقتراحاتك فرصة ولكني واجهت نفس الخطأ.
أفكر في هذه المرحلة أنني بحاجة إلى ربط المكتبة يدويًا لأن الربط التلقائي لا يعمل. قمت بإعداد الارتباط اليدوي بعد مسح كل شيء. وأرى الخطأ التالي في RCTOneSignalExtensionService.m:
node_modules/react-native-onesignal/ios/RCTOneSignal/RCTOneSignalExtensionService.m:4:9: 'OneSignal.h' file not found
التحقق من دليل "Frameworks" في RCTOneSignal.xcodeproj
يبدو أن المرجع OneSignal.h
يشير إلى node_modules/react-native-onesignal/ios/OneSignal.h
. لكن هذا الملف غير موجود. هل يمكن أن يؤثر ذلك على الارتباط اليدوي؟
أي تحديث على هذا ؟ تواجه نفس المشكلة بعد التحديث إلى Xcode 12.
مرحبًا @ hugoh59 ،
كانت المشكلة بالنسبة لي أن Cocoapods الخاصة بي لم تقم بتحديث مسارات البحث في مكتبتي. ما زلت غير متأكد من السبب ...
لقد أصلحت التثبيت عن طريق إضافة ${PODS_CONFIGURATION_BUILD_DIR}/react-native-onesignal
يدويًا إلى مسارات بحث المكتبة (إعدادات الإنشاء> مسارات البحث> مسارات بحث المكتبة) في هدفي الرئيسي.
أتمنى أن يساعدك هذا!