iOS8扩展无法使用AFNetworking库

时间:2014-09-28 04:53:58

标签: afnetworking afnetworking-2 ios8-extension

  

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

2 个答案:

答案 0 :(得分:3)

引自 Guard for unsupported features of iOS 8 extensions #2589

  

要解决此问题,我必须将AF_APP_EXTENSIONS = 1作为预处理程序   Pods-hitta.se WatchKit Extension-AFNetworking目标的宏。   将#define AF_APP_EXTENSIONS添加到前缀标头中并不起作用,   也没有将它作为预处理器宏添加到监视扩展   目标工作。

因此,单击Project Navigator中的Pods项目,然后选择Pods- {your-app-name-extension} -AFNetworking。接下来转到构建设置并找到 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
}

答案 1 :(得分:-2)

您可以将AFNetworking与扩展程序一起使用。您只需按照以下说明操作即可。

  

在App Extension中使用AFNetworking时,#define AF_APP_EXTENSIONS   避免使用不可用的API。

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