2013-09-30 9 views
5

शामिल हैं I ASHHttpRequest से AFNetworking में कनवर्ट करने का प्रयास कर रहा हूं, लेकिन मुझे लगता है कि मेरी कक्षा में निम्न पंक्ति पर "अविकसित पहचानकर्ता AFURLSessionManager" त्रुटि का उपयोग है।AFNetworking में हेडर

AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; 

मैं अपने शीर्षक पर निम्नलिखित शामिल हैं:

#import "AFNetworking.h" 
#import "AFURLSessionManager.h" 

यह वास्तव में कुछ स्पष्ट होना चाहिए, लेकिन अभी एक बुरा मस्तिष्क गोज़ हो रही है।

+0

आपने ढांचे को कैसे आयात किया? क्या आप कोकोपोड्स का उपयोग कर रहे हैं? –

+0

मैंने वास्तव में अपने प्रोजेक्ट में एएफनेटवर्किंग फ़ोल्डर को खींच लिया, जैसे कि यह यहां था http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_afnetworking/ –

+0

... क्या आपने रिपॉजिटरी से AFNetworking को डाउनलोड किया था, या ट्यूटोरियल साइट पर लिंक? – lxt

उत्तर

5

व्यवहार बस AFURLSessionManager.h में कोड की इस पंक्ति से समझाया

#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000) || (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090) 

AFURLSessionManagerNSURLSession का उपयोग, जो iOS 7 (और OSX 10.9) से पर उपलब्ध है बनाता है।

यदि आप आईओएस 6, AFURLSessionManager को लक्षित कर रहे हैं तो इसका उपयोग नहीं किया जा सकता है और यह संकलन समय पर अलग हो गया है। यही कारण है कि आपको त्रुटि मिलती है।

न्यूनतम तैनाती लक्ष्य के रूप में आईओएस 7 सेट करना संकलन त्रुटि को ठीक करेगा, भले ही यह आपकी आवश्यकताओं के अनुरूप न हो।


कहा, मेरे सुझाव इस तरह के AFNetworking के रूप में कामयाब रहे तीसरे दल निर्भरता को CocoaPods, उपयोग करने के लिए है।

AFNetworking 2.0 एक मॉड्यूलर ढांचा है, जिसका अर्थ है कि आप अपनी आवश्यकताओं के अनुसार उपयोग करने के लिए कौन से मॉड्यूल चुन सकते हैं। कोर आईओएस 6 का समर्थन करता है, लेकिन कुछ मॉड्यूल केवल आईओएस 7 का समर्थन करते हैं, जैसे NSURLSession मॉड्यूल जो AFURLSessionManager संबंधित है।

CocoaPods subspecs का उपयोग करके मॉड्यूलरिटी हासिल की जाती है। आदेश AFNetworking और NSURLSession मॉड्यूल आयात करने के लिए, आप बस की तरह

platform :ios, '7.0' 

pod 'AFNetworking',    '~> 2.0' 
pod 'AFNetworking/NSURLSession', '~> 2.0' 

तुम अब भी IOS 6 लक्षित कर सकते हैं कुछ करने के लिए होगा, लेकिन CocoaPods दस्तावेज़ में बताए के रूप में आप असंगत submodules नहीं मिलेगा,।

एक सबपेक मूल विनिर्देश के प्लेटफ़ॉर्म को प्रतिबंधित कर सकता है। इस मामले में इसे केवल माता-पिता विनिर्देश द्वारा विरासत में प्राप्त किया जाएगा यदि पॉडफ़ाइल का लक्ष्य इसका समर्थन करता है।

+0

इसे फिक्स्ड, मैंने AFNetworking को स्थापित करने के लिए कोकोपोड का उपयोग किया था, फिर बिल्ड सेटिंग्स में मेरे शीर्षलेख खोज पथ में "$ {PODS_ROOT}/BuildHeaders" जोड़ना पड़ा। –

+0

असल में यदि आप कोकोपोड्स का उपयोग करते हैं तो यह एक वर्कस्पेस स्वचालित रूप से कॉन्फ़िगर किया जाता है। बस कार्यक्षेत्र खोलें और परियोजना के बजाए इसका इस्तेमाल करें। –