1

由于试图访问 UIApplication 类方法,我无法在我的应用程序扩展中使用 AFNetworking 库。有没有人知道这里有任何其他更好的不访问 UIApplication 类的网络库?请建议。

4

2 回答 2

3

Guard引用iOS 8 扩展不支持的功能 #2589

为了解决这个问题,我必须将 AF_APP_EXTENSIONS=1 作为 Pods-hitta.se WatchKit Extension-AFNetworking 目标的预处理器宏。将#define AF_APP_EXTENSIONS 添加到前缀标头不起作用,将其作为预处理器宏添加到监视扩展目标也不起作用。

所以在 Project Navigator 中点击 Pods 项目,然后选择 Pods-{your-app-name-extension}-AFNetworking。接下来转到Build Settings并找到Preproccessor Macros在其中添加带有“AF_APP_EXTENSIONS = 1”的新行

还要在开头用+#if !defined(AF_APP_EXTENSIONS)包装它。然后结束它+#endif

包装的完整示例:

- (void)updateNetworkActivityIndicatorVisibility {
+#if !defined(AF_APP_EXTENSIONS)
     [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:[self isNetworkActivityIndicatorVisible]];
+#endif
}
于 2015-05-20T11:51:48.443 回答
-2

您可以将 AFNetworking 与扩展一起使用。您只需要按照以下说明进行操作。

在应用扩展中使用 AFNetworking 时,#define AF_APP_EXTENSIONS 以避免使用不可用的 API。

https://github.com/AFNetworking/AFNetworking/issues/2119

于 2014-09-29T09:44:28.303 回答