我可以构建自己的网络框架(依赖于AFNetworking)作为watchOS2框架吗?

Eme*_*mel 10 ios ios-frameworks afnetworking apple-watch watchos-2

我一直在尝试修改我的项目以支持WatchOS2架构.目前我有一个基于AFNetworking的网络框架.到目前为止,我一直在使用我的手表应用程序.现在我正在尝试为watchos/watchsimulator平台构建框架.

我得到的是一些AFNetworking类的'SystemConfiguration/SystemConfiguration.h'文件找不到错误.

我知道系统配置不是watchOS2的可用系统框架之一.对于网络苹果说:

联网

对基于网络的操作的支持包括以下技术:

WatchKit扩展可以使用NSURLSession对象直接访问网络.WatchKit扩展可以完全访问NSURLSession功能,包括在后台下载文件的功能.有关如何使用此类的信息,请参阅URL加载系统编程指南.Watch Connectivity框架支持Watch应用程序和iOS应用程序之间的双向通信.使用此框架来协调两个应用程序之间的活动.有关更多信息,请参阅与您的Companion iOS应用程序通信.

我想为我的网络sdk支持iOS和watchos.有没有办法为watchOS平台构建这个项目?或者这是否意味着我只允许在我的手表应用程序中使用NSURLConnection?

leh*_*058 1

根据AFNetworking 文档:

\n
\n

URL 加载 URL 加载系统中最常用的类\n允许您的应用从源检索 URL 的内容。您可以通过多种方式检索该内容,具体取决于您的应用\xe2\x80\x99s\n要求。您选择的 API 取决于您的应用目标的 OS X 或 iOS 版本\n以及您是否希望以文件形式获取数据或\n内存中的数据块:

\n
    \n
  • 在 iOS 7 及更高版本或 OS X v10.9 及更高版本中,NSURLSession 是执行 URL 请求的新代码的首选 API。
  • \n
\n
\n

如果您查看该页面上的图表,就会发现 AFNetworking 在某些情况下实际上使用了 NSURLSession。但是,由于 SystemConfiguration 框架在 watchkit 中不可用,因此您需要删除该依赖项才能将 AFNetworking 包含在您的 iOS 和 watchkit 应用程序中。

\n

我不确定 AFNetworking 使用此框架的目的(它可能非常重要!),但如果手表应用程序中有某些文件不需要这些设置,您可以修改 AFNetworking 源代码以不包含这些文件手表应用程序上的项目:

\n
#if os(iOS)\n// Include SystemConfiguration framework\n#elseif os(watchOS)\n// Exclude SystemConfiguration framework\n#endif\n
Run Code Online (Sandbox Code Playgroud)\n