2012-09-26 14 views
19

मैंने अपने प्रोजेक्ट में 3.0 से 3.1 तक फेसबुक आईओएस एसडीके अपडेट किया है। परियोजना अब संकलित नहीं है। इसके बजाय मैं निम्नलिखित लिंकर त्रुटियों मिलती है:एक्सकोड 4.2 लिंकर त्रुटियों के साथ फेसबुक आईओएस एसडीके 3.1

Undefined symbols for architecture i386: 
    "_ACFacebookAppIdKey", referenced from: 
     -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o) 
    "_ACFacebookAudienceEveryone", referenced from: 
     -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o) 
    "_ACFacebookAudienceFriends", referenced from: 
     -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o) 
    "_ACFacebookAudienceKey", referenced from: 
     -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o) 
    "_ACFacebookAudienceOnlyMe", referenced from: 
     -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o) 
    "_ACFacebookPermissionsKey", referenced from: 
     -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o) 
    "_OBJC_CLASS_$_ASIdentifierManager", referenced from: 
     objc-class-ref in FacebookSDK(FBSettings.o) 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Facebook docs स्पष्ट रूप से कहते हैं:

एसडीके तीन अन्य चौखटे (AdSupport, लेखा और सामाजिक) पर निर्भर करता है फेसबुक iOS6 में निर्मित सुविधाओं का उपयोग करने।

उन ढांचे को एक्सकोड 4.2 में मौजूद नहीं है। क्या कोई कामकाज है, यानी मैं डाउनलोड कर सकता हूं (कहां?) और मेरे प्रोजेक्ट में मैन्युअल रूप से ढांचे को जोड़ सकता हूं और क्या संकलन त्रुटियों से छुटकारा पाने के लिए पर्याप्त होगा या क्या मुझे एक्सकोड 4.5 में अपग्रेड करना होगा?

उत्तर

21

वे ढांचे आईओएस 6 का हिस्सा हैं (ठीक है, Accounts को छोड़कर, जो आईओएस 5 से है)। आप एक्सकोड 4.5 में अपग्रेड किए बिना उनका उपयोग नहीं कर पाएंगे, और इसके परिणामस्वरूप, आईओएस 6 एसडीके।

यदि आप अपनी चिंता करते हैं, तो भी आप अपने तैनाती लक्ष्य को आईओएस 4.3 पर सेट कर सकते हैं।

मुझे लगता है कि आपके विकल्प हैं: Xcode 4.5

  1. अपग्रेड, या
  2. उपयोग फेसबुक एसडीके 3.0।
+0

यह उत्तर सही है! –

+4

मुझे xcode 4.5 पर एक ही समस्या हो रही है। – marcog

+13

@marcog क्या आपने फ्रेमवर्क जोड़ दिए थे? प्रोजेक्ट -> लक्ष्य -> ​​चरणों का निर्माण -> पुस्तकालयों के साथ लिंक बाइनरी -> + -> विज्ञापन का समर्थन करें, खाते और सामाजिक – borisdiakur

0

सोबरी सही है। या तो एक्सकोड 4.5 में अपग्रेड करें या एसडीके 3.0 का उपयोग करें या यदि आप 3.1 का उपयोग करना चाहते हैं तो गिटूब से स्रोत डाउनलोड करें, बिल्ड फ़ाइल को संशोधित करें (मूल रूप से आईओएस 6.0 द्वारा प्रदान किए गए ढांचे के संदर्भों को हटा दें) और एसडीके का पुनर्निर्माण करें। इस तरह आप एसडीके 3.1 का उपयोग कर सकते हैं साथ ही पुराने एक्सकोड संस्करणों पर इसे चला सकते हैं।

6

एसडीके तीन अन्य ढांचे (विज्ञापन समर्थन, लेखा और सामाजिक) पर निर्भर करता है।

इन्हें जोड़ने के लिए, लक्ष्य के सारांश फलक के 'लिंक्ड फ्रेमवर्क और लाइब्रेरीज़' अनुभाग पर जाएं, और उन्हें जोड़ें।

+0

कृपया पूरे प्रश्न को पढ़ें। Xcode 4.2 – borisdiakur

+0

में ऐसे कोई ढांचे (खातों को छोड़कर) नहीं हैं हां, आपको xcode 4.5 – Burak

9

चीजें बनाने के लिए स्पष्ट:

XCode 4.5 के लिए:

आप अमेरिकन प्लान SDK3.0 का उपयोग करते हैं, आप केवल लेखा और FacebookSDK चौखटे जोड़ने की जरूरत है।

यदि आप एफबी एसडीके 3.1 का उपयोग करते हैं, तो आपको खाते, फेसबुकएसडीके, सोशल और एडस्पोर्ट फ्रेमवर्क जोड़ने होंगे।

यदि आप एफबी एसडीके 3.2 ++ का उपयोग करते हैं, तो अपने आप से जांचें कि आपको कौन से अन्य ढांचे की आवश्यकता हो सकती है या नहीं। ;)

आशा है कि यह सबके लिए अच्छी तरह से बताएगा।

0

निम्न चरणों को इस मुद्दे

  1. डाउनलोड फेसबुक आईओएस एसडीके 3 को हल करने में मददगार हो सकता है।यूआरएल http://developers.facebook.com/ios/features/whats-new-ios-sdk-3/
  2. में मौजूद लिंक से 0 मैक दस्तावेज़ निर्देशिका से FacebookSDK ढांचे जोड़े
  3. फिर

परियोजना के लिए sqlite3 जोड़े, मैं कोड http://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/ में निम्न परिवर्तन के साथ की कोशिश की है (के रूप में यह है फेसबुक iOS SDK 3.1) के लिए

  1. openActiveSessionWithPermissions
  2. साथ openActiveSessionWithReadPermissions बदलें साथ [FBSession.activeSession handleDidBecomeActive]; बदलें [FBSession activeSession];

यह मेरे लिए काम करता है। इसे एक बार कोशिश करें।

धन्यवाद, प्रोडिफायर।

+0

का उपयोग करना चाहिए, मैं अपने लिए काम नहीं करता ... – pocjoc

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