Các hành vi đơn giản được giải thích bởi dòng mã này trong 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
tận dụng NSURLSession
, trong đó có sẵn từ iOS 7 (và OSX 10.9) trên.
Nếu bạn đang nhắm mục tiêu iOS 6, AFURLSessionManager
thì không thể sử dụng được và nó bị loại bỏ lúc biên dịch. Đó là lý do tại sao bạn nhận được lỗi.
Đặt iOS 7 làm mục tiêu triển khai tối thiểu sẽ khắc phục lỗi biên dịch, mặc dù nó có thể không phù hợp với nhu cầu của bạn.
Điều đó nói rằng, đề xuất của tôi là sử dụng CocoaPod để quản lý các phụ thuộc bên thứ ba, chẳng hạn như AFNetworking
.
AFNetworking 2.0
là khuôn khổ mô-đun, có nghĩa là bạn có thể chọn mô-đun để sử dụng theo nhu cầu của mình. Cốt lõi hỗ trợ iOS 6, nhưng một số mô-đun chỉ hỗ trợ iOS 7, chẳng hạn như mô-đun NSURLSession
là mô-đun trong đó AFURLSessionManager
thuộc về.
Modularity đạt được bằng cách sử dụng CocoaPods subspecs. Để nhập AFNetworking
và NSURLSession
module, bạn sẽ chỉ phải làm một cái gì đó giống như
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'
pod 'AFNetworking/NSURLSession', '~> 2.0'
Bạn vẫn có thể nhắm mục tiêu iOS 6, nhưng bạn sẽ không nhận được submodules không tương thích, như quy định trong tài liệu hướng dẫn CocoaPods.
Subspec có thể hạn chế nền tảng của đặc tả gốc. Trong trường hợp này, nó sẽ được thừa kế bởi đặc tả cha mẹ chỉ khi đích của podfile hỗ trợ nó.
bạn đã nhập khung như thế nào? Bạn đang sử dụng CocoaPods? –
Tôi thực sự chỉ cần kéo thư mục AFNetworking vào dự án của tôi, giống như nó đã có ở đây http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_afnetworking/ –
... bạn đã tải AFNetworking từ kho lưu trữ hay từ liên kết trên trang web hướng dẫn? – lxt