Das Verhalten wird einfach durch diese Codezeile in AFURLSessionManager.h
erklärt
#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)
AFURLSessionManager
nutzt NSURLSession
, die von iOS 7 verfügbar ist (und OSX 10.9) auf.
Wenn Sie auf iOS 6 ausgerichtet sind, kann AFURLSessionManager
einfach nicht verwendet werden und es wird zur Kompilierungszeit entfernt. Deshalb erhalten Sie den Fehler.
Durch die Einstellung von iOS 7 als minimales Bereitstellungsziel wird der Kompilierungsfehler behoben, obwohl er möglicherweise nicht Ihren Anforderungen entspricht.
Das heißt, ist meine Vorschläge CocoaPods verwalteten Dritt Abhängigkeiten, wie AFNetworking
zu verwenden.
AFNetworking 2.0
ist ein modulares Framework, das bedeutet, dass Sie auswählen können, welche Module gemäß Ihren Anforderungen verwendet werden sollen. Der Core unterstützt iOS 6, aber einige Module unterstützen nur iOS 7, wie zum Beispiel das NSURLSession
Modul, das das ist, wo AFURLSessionManager
gehört.
Modularität wird durch Verwendung von CocoaPods subspecs erreicht. Um AFNetworking
und das NSURLSession
Modul zu importieren, werden Sie nur etwas zu tun haben, wie
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'
pod 'AFNetworking/NSURLSession', '~> 2.0'
noch Sie iOS ausrichten können 6, aber Sie werden nicht die inkompatiblen Submodule erhalten, wie sie in der CocoaPods Dokumentation angegeben.
Eine Unterspezifikation kann die Plattform der übergeordneten Spezifikation einschränken. In diesem Fall wird es nur dann von der übergeordneten Spezifikation übernommen, wenn das Ziel der Poddatei dies unterstützt.
Wie haben Sie das Framework importiert? Verwenden Sie CocoaPods? –
Ich habe gerade den AFNetworking-Ordner in mein Projekt gezogen, so wie er es hier hatte http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_afnetworking/ –
... haben Sie AFNetworking aus dem Repository heruntergeladen, oder von der Link auf der Tutorialseite? – lxt