2011-08-18 17 views
34

मैं xcode4 उपयोग करते हैं, एक OpenGLES परियोजना पर मैं ट्यूटोरियल से इन-ऐप खरीदारी के लिए कोड जोड़ लिया है: http://www.raywenderlich.com/2797/introduction-to-in-app-purchasesअपरिभाषित प्रतीकों: "_SCNetworkReachabilitySetCallback"

मैं SystemConfiguration.framework को शामिल किया है, लेकिन इस त्रुटियों होता है :

Ld /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest normal i386 
    cd /Users/Eros/Desktop/blatestDB 
    setenv MACOSX_DEPLOYMENT_TARGET 10.6 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Desktop/blatestDB -filelist /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Intermediates/blatest.build/Debug-iphonesimulator/SLQTSOR.build/Objects-normal/i386/blatest.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework AVFoundation -framework AudioToolbox -framework CoreAudio -framework CoreGraphics -framework OpenAL -lz -framework MediaPlayer -framework AVFoundation -framework GameKit -framework StoreKit -o /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest 

Undefined symbols for architecture i386: 
    "_SCNetworkReachabilitySetCallback", referenced from: 
     -[Reachability startNotifier] in Reachability.o 
    "_SCNetworkReachabilityScheduleWithRunLoop", referenced from: 
     -[Reachability startNotifier] in Reachability.o 
    "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from: 
     -[Reachability stopNotifier] in Reachability.o 
    "_SCNetworkReachabilityGetFlags", referenced from: 
     -[Reachability currentReachabilityStatus] in Reachability.o 
     -[Reachability connectionRequired] in Reachability.o 
    "_SCNetworkReachabilityCreateWithName", referenced from: 
     +[Reachability reachabilityWithHostName:] in Reachability.o 
    "_SCNetworkReachabilityCreateWithAddress", referenced from: 
     +[Reachability reachabilityWithAddress:] in Reachability.o 
ld: symbol(s) not found for architecture i386 
collect2: ld returned 1 exit status 

यदि मैं फ्रेमवर्क संदर्भ हटा देता हूं तो त्रुटि समान होती है। फिर से जोड़ना कुछ भी नहीं होता ... -Xlinker 2 -framework फाउंडेशन-फ्रेमवर्क UIKit [...] में मुझे "-फ्रेमवर्क सिस्टम कॉन्फ़िगरेशन" सही दिखाना चाहिए? क्यों नहीं है? क्या किसी के पास विचार है? त्रुटि अभी भी वहाँ

Ld /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest normal i386 
    cd /Users/Eros/Desktop/blatestDB 
    setenv MACOSX_DEPLOYMENT_TARGET 10.6 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Desktop/blatestDB -filelist /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Intermediates/blatest.build/Debug-iphonesimulator/SLQTSOR.build/Objects-normal/i386/blatest.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework SystemConfiguration -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework AVFoundation -framework AudioToolbox -framework CoreAudio -framework CoreGraphics -framework OpenAL -lz -framework MediaPlayer -framework AVFoundation -framework GameKit -framework StoreKit -o /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest 

ld: warning: ignoring file /Users/Eros/Desktop/blatestDB/SystemConfiguration.framework/SystemConfiguration, missing required architecture i386 in file 
Undefined symbols for architecture i386: 
    "_SCNetworkReachabilitySetCallback", referenced from: 
     -[Reachability startNotifier] in Reachability.o 
    "_SCNetworkReachabilityScheduleWithRunLoop", referenced from: 
     -[Reachability startNotifier] in Reachability.o 
    "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from: 
     -[Reachability stopNotifier] in Reachability.o 
    "_SCNetworkReachabilityGetFlags", referenced from: 
     -[Reachability currentReachabilityStatus] in Reachability.o 
     -[Reachability connectionRequired] in Reachability.o 
    "_SCNetworkReachabilityCreateWithName", referenced from: 
     +[Reachability reachabilityWithHostName:] in Reachability.o 
    "_SCNetworkReachabilityCreateWithAddress", referenced from: 
     +[Reachability reachabilityWithAddress:] in Reachability.o 
ld: symbol(s) not found for architecture i386 
collect2: ld returned 1 exit status 

SystemConfiguration है, ... :

अप परियोजना से ढांचा खींच> यह पहली ढांचा बनाने phases-> पुस्तकालय के साथ लिंक बाइनरी निर्माण मैं इस मिली त्रुटियाँ है यह क्या हो सकता है? धन्यवाद

उत्तर

51

इसे मिला! मैंने अपने प्रोजेक्ट फ़ोल्डर में SystemConfiguration.framework की प्रतिलिपि बनाई है (जब मैं xcode से जोड़ा गया बॉक्स को चेक करता हूं)। मेरी परियोजना में उस फ़ोल्डर को हटाने से अब

0

मैं यह इंगित करना चाहता हूं कि मुझे इसके लिए एक समस्या भी मिलती है।

मैंने कुछ फ़ाइलों को xcode पर कॉपी किया और गलती से परियोजना के बजाय "ProjectTests" चुना। बस फाइलों को हटाएं और उन्हें सुनिश्चित करें कि मुख्य प्रोजेक्ट (इकाई परीक्षण नहीं) का चयन किया गया है, मुख्य परियोजना (यूनिट परीक्षण नहीं)

0

मुझे रेपो से अपडेट के बाद एक ही समस्या थी।

मेरे लिए काम किया गया समाधान सभी वर्गों के लिए परियोजना से संदर्भों को हटाना था और उन्हें फिर से जोड़ना था। समस्या यह है कि रेपो सिंक्रनाइज़ेशन को गड़बड़ करने की एक बड़ी संभावना है।

+0

आपने यह कैसे किया? – quantumpotato

10

मुझे भी यही समस्या थी। मैंने कुछ ढांचे को सीधे खींचकर और छोड़कर जोड़ा।

यह हल करने के लिए, मैं उन सभी को नष्ट कर दिया और मेनू लक्ष्य> चरण और फिर बिल्ड के माध्यम से उन्हें जोड़ा फिर से लिंक बाइनरी के साथ पुस्तकालय के माध्यम से सभी आवश्यक व्यवस्थाएं गयी।

इसके बाद, आपका कोड फिर से ठीक काम करना चाहिए।

+0

+1 धन्यवाद यह काम करता है ....! – Dinesh

37

निर्माण चरणों अपने प्रोजेक्ट में अच्छी तरह से संकलित से SystemConfiguration.framework जोड़ने के बाद ...

एक मजेदार नहीं है ...!

+1

धन्यवाद ... यह मेरे लिए काम करता है! –

+1

यह सबसे सही जवाब है –

+0

धन्यवाद !!! यह मेरे लिए भी काम किया! – ChemDev

8

यह आसान है।

उपसर्ग याद आ रही है

scnetworkreachability कॉलबैक अपरिभाषित प्रतीक है जो किसी पुस्तकालय या ढांचा फ़ाइल का तात्पर्य के रूप में चिह्नित किया गया है अनुसूचित जाति मतलब है सिस्टम विन्यास परियोजना के नाम पर

  • क्लिक चुनें सारांश दाएं तरफ

  • सीएल ick लिंक बाइनरी और चौखटे

  • क्लिक प्लस उस पर तो आप चौखटे और libaries देखने के संग्रह के साथ नीचे एक ड्रिल को देख सकते हैं, अगर वहाँ और कुछ भी systemConfigurationframework बुलाया प्रेस

  • कि चयन है ठीक

  • अब निर्माण और रन समस्या है

5

हल जब मैं, AFNetworking उपयोग कर रहा था इन त्रुटियों को आयातित 3 चौखटे

CFNetwork.framework 
Security.framework 
SystemConfiguration.framework 

सभी त्रुटियों चला जाएगा प्राप्त करने के बाद .. का आनंद !!!

5

ऊपर वर्णित अनुसार, निम्नलिखित 3 ढांचे को आयात करने के बाद, यह काम करता है!

CFNetwork.framework 
    Security.framework 
    SystemConfiguration.framework 

बहुत बहुत धन्यवाद!

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