React-native-onesignal: فشل إنشاء IOS مع: "ld: مكتبة غير موجودة لـ -lreact-native-oneSignal"

تم إنشاؤها على ١٧ فبراير ٢٠٢١  ·  4تعليقات  ·  مصدر: OneSignal/react-native-onesignal

وصف:

اتبعت دليل إعداد 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)

حاولت اتباع خطوات الربط اليدوي ولكنني أصبت بنفس الخطأ. أتساءل أي شخص توصل إلى حل لهذا؟

شكرا!

بيئة

  • تمت إضافة SDK للمشروع باستخدام yarn add react-native-onesignal
  • رد فعل - أصلية - إشارة واحدة: 4.0.3
  • رد الفعل الأصلي: 0.63.3
  • كود XCode: 12.4
  • Cocoapods: 1.10.1

بودفيلي

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

خطوات إعادة إنتاج المشكلة:

  • اتبع دليل إعداد React Native & Expo SDK

  • أنشئ التطبيق في XCode
  • Help Wanted iOS

    ال 4 كومينتر

    مرحبًا ،
    حاول تشغيل 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 يدويًا إلى مسارات بحث المكتبة (إعدادات الإنشاء> مسارات البحث> مسارات بحث المكتبة) في هدفي الرئيسي.

    أتمنى أن يساعدك هذا!

    هل كانت هذه الصفحة مفيدة؟
    0 / 5 - 0 التقييمات