Я не могу использовать библиотеку AFNetworking в своем расширении приложения из-за того, что пытался получить доступ к методам класса UIApplication. Кто-нибудь знает здесь какую-либо другую лучшую сетевую библиотеку, которая не имеет доступа к классу UIApplication? Пожалуйста, предложите.
Расширение iOS8 не может использовать библиотеку AFNetworking
Ответы (2)
цитата из Защита от неподдерживаемых функций расширений iOS 8 #2589
Чтобы решить эту проблему, мне пришлось указать AF_APP_EXTENSIONS=1 в качестве макроса препроцессора для цели Pods-hitta.se WatchKit Extension-AFNetworking. Добавление #define AF_APP_EXTENSIONS в заголовок префикса не сработало, равно как и добавление его в качестве макроса препроцессора к целевому расширению часов.
Поэтому щелкните проект Pods в Project Navigator, затем выберите Pods-{your-app-name-extension}-AFNetworking. Затем перейдите в Настройки сборки и найдите Макросы препроцессора, где вы добавите новую строку с «AF_APP_EXTENSIONS=1».
Также оберните его +#if !defined(AF_APP_EXTENSIONS) в начале. И завершите его +#endif
полный пример упаковки:
- (void)updateNetworkActivityIndicatorVisibility {
+#if !defined(AF_APP_EXTENSIONS)
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:[self isNetworkActivityIndicatorVisible]];
+#endif
}
Вы можете использовать AFNetworking с расширением. Вам просто нужно следовать инструкции ниже.
При использовании AFNetworking в расширении приложения #define AF_APP_EXTENSIONS во избежание использования недоступных API.
https://github.com/AFNetworking/AFNetworking/issues/2119