Ответ 1
Подписывая podspec CocoaPods, вы можете просто использовать AFN 2.0, но не включать связанные файлы NSURLSession
.
Например, если вы используете CocoaPods (если вы этого не сделаете, вам стоит подумать об этом, это потрясающе!), просто используйте это в своем подфайле, чтобы получить AFN 2.0 без NSURLSession
-связанных функций:
pod 'AFNetworking', '~> 2.0'
Это приведет только к подпрограмме "Core"
, которая поддерживает целевой объект развертывания 6.0 для iOS (s.ios.deployment_target = '6.0'
в podspec) и не интегрирует файлы NSURLSession
. Таким образом, это будет совместимо с вашим проектом с использованием iOS6 или большего целевого объекта развертывания.
Если позже вы захотите отказаться от поддержки 6.0 в своем проекте и воспользоваться возможностями NSURLSession
, вы можете добавить подпрограмму NSURLSession
в свой Podfile
:
pod 'AFNetworking', '~> 2.0' # Core, without NSURLSession, compatible with iOS6
pod 'AFNetworking/NSURLSession', '~> 2.0' # Add NSURLSession features, only compatible with iOS7
В podspec
вы можете видеть, что добавление подпрограммы NSURLSession
добавит требование s.ios.deployment_target = '7.0'
, как следствие, требуя, чтобы ваша цель развертывания проекта тоже была 7.0 или выше, как вы могли ожидать.
[EDIT] С моего ответа Mattt обновил свой код и podspec, чтобы вы могли получить подтекст NSURLSession
даже при таргетинге на iOS6. См. этот запрос на его github (и другие связанные).
Итак, теперь вы можете получить подпрограмму NSURLSession
даже для проектов iOS6-min и просто условно назвать их только во время выполнения if ([NSURLSession class])
.