React-native-onesignal: لم يتم العثور على رمز (رموز) للعمارة x86_64

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

مهلا،

أواجه مشكلة عند استيراد هذا إلى مشروع RN (الترحيل من التحليل!).

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_OneSignal", referenced from:
      objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

يبدو مشابهًا جدًا لـ https://github.com/geektimecoil/react-native-onesignal/issues/5 على الرغم من اختلاف الهندسة المعمارية.

أنا غير معتاد على ObjectiveC ولكني سعيد بالمساعدة حيث يمكنني ذلك وسأصدر العلاقات العامة إذا كان من الممكن إرشادي كما هو مطلوب. أتمنى أن يساعدني شخص ما على طول!

شكرا
أولي

التعليق الأكثر فائدة

لقد واجهت نفس المشكلة تمامًا مثل olliebrennan ،

  1. اسحب المجلد node_modules/react-native-onesignal/ios/Frameworks إلى RCTOneSignal.xcodeproj أسفل اللوحة اليسرى لـ XCode
  2. مرة واحدة في اللوحة اليمنى ، اسحب OneSignal.framework إلى Link Binary with Libraries

ال 25 كومينتر

olliebrennan هل تمكنت من حل هذه المشكلة؟ إنني أتطلع إلى الالتزام بالرقم 5 لمعرفة ما يجب القيام به. أنا مطور JS ، ولست مطور iOS ، لذا فأنا لست على دراية بالإعدادات المختلفة.

ربما @ jkasten2 يمكن أن تساعد هنا؟

jamiemchale لم أفعل. واجهت نفس المشكلة التي تركت تطبيقي باستخدام التحليل حتى يأتي الإصلاح. يسعدني تقديم المساعدة إذا كان بإمكاني ولكن كما قلت ، أنا أيضًا غير معتاد على لغة / إعدادات iOS.

تضمين التغريدة
إذا قمت بتثبيت المكون الإضافي OneSignal مع كبسولات Cocoa ، فقد لا يشير إلى إطار عمل OneSignal الأصلي للمشروع الرئيسي. يمكنك إسقاط OneSignal.framework وسحبه من Finder إلى XCode والذي يجب أن يصلح خطأ الرابط. قد تضطر إلى تحديد "نسخ العناصر إذا لزم الأمر" إذا لم يعمل بدونها.

image

image

أخيرًا ، تأكد من أنك تستخدم Xcode 7.0 أو أعلى لأن الإصدارات الأقدم من Xcode ستؤدي إلى نفس الخطأ هنا بالضبط.

شكرا @ jkasten2
لدي إخلاء سبيل في اليومين المقبلين ، ثم سأحاول ذلك وأعيد الإبلاغ.

هتافات

+1 وجود مشكلة مماثلة على OSX

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_OneSignal", referenced from:
      objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

كنت أفتقد OneSignal.framework . حاولت سحب appname/node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework إلى مكتبات XCode. لا يزال لا يعمل.

حاولت أيضًا appname/ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework ، لم تنجح أيضًا.

olliebrennan هل تمكنت من حل المشكلة؟

لقد واجهت نفس المشكلة تمامًا مثل olliebrennan ،

  1. اسحب المجلد node_modules/react-native-onesignal/ios/Frameworks إلى RCTOneSignal.xcodeproj أسفل اللوحة اليسرى لـ XCode
  2. مرة واحدة في اللوحة اليمنى ، اسحب OneSignal.framework إلى Link Binary with Libraries

ياhyperholliebrennan هل تمكنت من حل هذا؟

avishayil لم أتمكن من حل هذا. قررت أن أذهب مع apnagent للتعامل مع أشياء APN الخاصة بي.

إذا واجه شخص ما نفس الخطأ ، يرجى الإبلاغ. أنا أغلق هذه القضية في الوقت الحالي.

avishayil لدي هذه المشكلة. حاولت اتباع تعليمات whollacsek ولكني ما زلت أتلقى نفس الخطأ في XCode.

screenshot 2016-06-03 15 40 31

نفس المشكلة مع @ chrissm79 وآخرين

لقد وصلت للتو إلى هنا ونعم ، نفس المشكلة.

+1

ننظر في الامر. أي إعادة إنتاج الخطوات؟

لقد واجهت هذه المشكلة وتمكنت من إصلاحها من خلال النقر على ios / Pods / OneSignal / iOS_SDK / Framework / OneSignal.framework وسحبها من Finder إلى مجلد Frameworks الخاص بمشروع XCode.

نفس المشكلة مثل @ chrissm79

تحرير: يتم حلها عن طريق تنزيل إطار العمل وربطه من الرابط الموثق بدلاً من استخدام إطار العمل في مجلد node_modules.

لديك مشروع مثال للإشارة إليه واللعب به ، من فضلك تأكد
أنت تتابع جميع الطلبات ، فلا يجب أن تحدث أخطاء.
في 2 تموز (يوليو) 2016 ، الساعة 12:37 صباحًا ، كتب "Charles Hulcher" [email protected] :

نفس المشكلة مثل @ chrissm79 https://github.com/chrissm79

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/18#issuecomment -230052711 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe/AAyekNTkU15t6IP4zvQzg06yXzUf0akHks5qRYiBgaJpZM4IHVBS
.

لدي أيضًا هذه المشكلة ولكن لا أعرف كيفية حلها

ld: تحذير: تجاهل الملف / المستخدمون/apple/Desktop/Camera/XCTest.framework/XCTest.tbd ، فقدان البنية المطلوبة x86_64 في الملف / المستخدمون/apple/Desktop/Camera/XCTest.framework/XCTest.tbd (3 شرائح)
رموز غير محددة للهندسة المعمارية x86_64:
"_OBJC_CLASS _ $ _ XCTestCase" ، مُشار إليه من:
_OBJC_CLASS _ $ __ TtC6Camera11toucanTests in toucanTests.o
"_OBJC_METACLASS _ $ _ XCTestCase" ، مُشار إليه من:
_OBJC_METACLASS _ $ __ TtC6Camera11toucan الاختبارات في اختبارات الطوقان.
ld: لم يتم العثور على رمز (رموز) للعمارة x86_64
clang: خطأ: فشل الأمر linker مع رمز الخروج 1 (استخدم -v لرؤية الاستدعاء)

أنا على رد الفعل الأصلي 0.37 وإليك كيف تمكنت من جعل هذا يعمل (أعتقد أن المواد التمهيدية / الوثائق متأخرة قليلاً عن رد الفعل الأصلي).

  1. على فرع نظيف بدون عمل إشارة واحدة ...
  2. تشغيل npm install react-native-onesignal --save
  3. تشغيل react-native link
  4. بالنسبة لنظام التشغيل iOS ، اتبع تعليمات ملف podfile (تأكد من اتباع ملاحظة الإصدار الأصلي للتفاعل بعناية)
  5. لنظام iOS ، اتبع إضافات التعليمات البرمجية في التعليمات
  6. لنظام Android ، اتبع تعليمات android (يجب أن يكون معظم الكود موجودًا من أمر الرابط ، ولكن تحقق جيدًا من كل شيء)
  7. لنظام Android ، تأكد من استخدام import com.geektime.reactnativeonesignal.ReactNativeOneSignalPackage; وليس import com.geektime.rnonesignal.ReactNativeOneSignalPackage; (بعض الوثائق القديمة تحتوي على rnonesignal وتم تحديثها منذ ذلك الحين)
  8. ثم أكمل التكوين والإعداد وجميع الملفات
  9. نأمل أن تكون هذه الحيلة بالنسبة لك ... يرجى الرد إذا كان لديك أي مشاكل لأنني قضيت بعض الوقت على كل من Android و iOS عبر عدد قليل من الفروع لجعل هذا يعمل.

YMMV إذا كنت تستخدم شيئًا أقل من v0.37 من RN. حظا سعيدا.

تم حل المشكلة!!

فقط من متصفح المشروع ، انتقل إلى قسم Pods ، وابحث عن oneSignal.framework واسحبه إلى "ارتباط ثنائي بالمكتبات" الموجود أسفل هدفك وهذا كل شيء !. لذلك من الأفضل استخدام إطار العمل فقط بدلاً من ملف pod.

تم حلها عن طريق الربط اليدوي:
https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual -linking

في حالتي ، اضطررت إلى إضافة السطر التالي في podfile وتشغيل pod install مرة أخرى. ثم قم بتشغيل Clean وقم بالبناء مرة أخرى.
pod 'رد فعل أصلي-واحد إشارة' ،: المسار => '../node_modules/react-native-onesignal'

في حالتي ، عند تشغيل مشروع React Native قديم 0.39.0 ، كان عليّ إنشاء المشروع react-native link ، Clean ثم إنشاء المشروع Build مرة أخرى.

في حالتي ، كان libRCTOneSignal.a مفقودًا في مكتبة الارتباط مع النظام الثنائي ، لقد أضفته للتو وتم حل المشكلة

يمكنك اتباع الخطوة الثانية هنا https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual -linking

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