2013-08-23 21 views
5

समाधान: इसलिए मोपब के निर्देशों का उल्लेख नहीं है कि EventKit और EventKitUI आवश्यक हैं। MoPub द्वारा उल्लिखित ढांचे के अलावा इन्हें जोड़ने के लिए परियोजना को मिला।एक्सकोड बिल्ड त्रुटि को समझना

अद्यतन: MoPub के निर्देश अपडेट किए गए हैं।


मैं उनके instructions का पालन करके अपने ऐप्स में MoPub के पूर्ण आईओएस SDK एकीकृत कर रहा हूँ। दुर्भाग्य से मैं अपने कोड और आवश्यक व्यवस्थाएं जोड़ने के बाद निम्न त्रुटियों का निर्माण मिलती है:

Undefined symbols for architecture i386: 

    "_OBJC_CLASS_$_EKAlarm", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKEvent", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKEventEditViewController", referenced from: 
     objc-class-ref in MPInstanceProvider.o 
    "_OBJC_CLASS_$_EKEventStore", referenced from: 
     objc-class-ref in MPInstanceProvider.o 
     objc-class-ref in MRProperty.o 
    "_OBJC_CLASS_$_EKRecurrenceDayOfWeek", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKRecurrenceEnd", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKRecurrenceRule", referenced from: 
     objc-class-ref in MRCalendarManager.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

इन त्रुटियों को क्या मतलब है? मैं उन्हें समझना चाहता हूं और फिर उन्हें स्वयं ठीक करने का तरीका समझना चाहता हूं। आम तौर पर जब मैं तीसरे पक्ष के विज्ञापन या विश्लेषण एसडीके जोड़ता हूं तो एकीकरण प्रक्रिया बहुत आसान होती है। इसलिए मेरे पास इन प्रकार की त्रुटियों को हल करने का अधिक अनुभव नहीं है।

नोट मैंने अपने स्वयं के ऐप और एक नंगे-हड्डियों के परीक्षण ऐप में MoPub पूर्ण एसडीके को एकीकृत करने का प्रयास किया। दोनों एक ही त्रुटि देते हैं।

+2

उस डुप्लिकेट के उत्तरों के माध्यम से पढ़ें। यह इन लिंकर त्रुटियों को समझाएगा। – rmaddy

+0

@rmaddy यह निश्चित रूप से सहायक था! समाधान (प्रश्न में जोड़ा गया) सिर्फ ढांचे को जोड़ रहा था जो MoPub ने उल्लेख नहीं किया था। मेरी राय में यह प्रश्न तब तक खुला रखा जाना चाहिए जब तक कि एमओपीबी के निर्देश अपडेट नहीं होते हैं क्योंकि यह अन्य डेवलपर्स के लिए सहायक हो सकता है। – SundayMonday

+0

हू! उनके दस्तावेज़ त्रुटि के कारण 2 घंटे बर्बाद: @ यह अभी तक अपडेट नहीं है। –

उत्तर

1

जब आप अपने ऐप में बाहरी लाइब्रेरी को एकीकृत करते हैं, तो इसे आम तौर पर सिम्युलेटर या डिवाइस पर काम करने के लिए संकलित किया जाता है। मुझे विश्वास है कि आपकी .a फ़ाइल को किसी डिवाइस पर काम करने के लिए संकलित किया गया था, और यदि आप किसी डिवाइस के लिए निर्माण करते हैं, तो आपके लिंकर को बेहतर व्यवहार करना चाहिए।

वैकल्पिक रूप से, आप बस .a फ़ाइल को शामिल करना भूल गए हैं।

+1

कृपया टिप्पणियों में संदर्भित डुप्लिकेट प्रश्न में उत्तर पढ़ें। इस तरह की लिंकर त्रुटियों को पढ़ने का तरीका सीखना एक महत्वपूर्ण कौशल है। – rmaddy

17

अपनी परियोजना में EventKit.framework जोड़ें।

+0

'MRCalendarManager' के साथ कोई समस्या नहीं है। कृपया फिर से त्रुटि पढ़ें। यह स्पष्ट रूप से बताता है कि समस्या 'MRCalendarManager' द्वारा संदर्भित अनुपलब्ध 'EKxxx' प्रतीकों के साथ है। इसका मतलब है कि 'इवेंटकिट' ढांचे को परियोजना में जोड़ा जाना चाहिए। – rmaddy

+0

ठीक है क्षमा करें, फिर अपने प्रोजेक्ट में EventKit.framework जोड़ें। – satheeshwaran

+0

अपनी परियोजना में EventKitUI.framework भी जोड़ें। – Tony

संबंधित मुद्दे