Il comportamento si spiega semplicemente da questa linea di codice nel 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)
AFURLSessionManager
fa uso di NSURLSession
, che è disponibile da IOS 7 (e OSX 10.9) su.
Se si sta puntando su iOS 6, non è possibile utilizzare AFURLSessionManager
ed è stato rimosso al momento della compilazione. Ecco perché ottieni l'errore.
L'impostazione di iOS 7 come destinazione minima di installazione risolverà l'errore di compilazione, anche se potrebbe non soddisfare le tue esigenze.
Detto questo, i miei suggerimenti è quello di utilizzare CocoaPods a gestite le dipendenze di terze parti, come ad esempio AFNetworking
.
AFNetworking 2.0
è un framework modulare, che significa che è possibile scegliere quali moduli utilizzare in base alle proprie esigenze. Il core supporta iOS 6, ma alcuni moduli supportano solo iOS 7, come il modulo NSURLSession
, che è quello in cui appartiene AFURLSessionManager
.
La modularità si ottiene utilizzando CocoaPods subspecs. Al fine di importare AFNetworking
e il modulo NSURLSession
, dovrete solo fare qualcosa di simile
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'
pod 'AFNetworking/NSURLSession', '~> 2.0'
È ancora possibile indirizzare iOS 6, ma non sarà possibile ottenere i moduli incompatibili, come specificato nella documentazione CocoaPods.
Un sottospecetto può limitare la piattaforma della specifica genitore. In questo caso sarà ereditato dalla specifica genitore solo se il target del podfile lo supporta.
come è stata importata la struttura? Stai usando CocoaPods? –
In realtà ho semplicemente trascinato la cartella AFNetworking nel mio progetto, come se fosse qui http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_afnetworking/ –
... hai scaricato AFNetworking dal repository, o dal link sul sito tutorial? – lxt