通过WatchConnectivity发送数据时有效负载有多大?

时间:2015-10-08 21:04:01

标签: ios ios9 watch-os-2 watchconnectivity wcsession

使用WatchConnectivity框架发送数据时,从手机到手表,反之亦然,在框架给我WCErrorCodePayloadTooLarge错误之前,有效负载有多大?

我无法在Apple的文档中找到答案,此时互联网上似乎没有太多关于此的信息(事实上,谷歌搜索WCErrorCodePayloadTooLarge只给我4个结果)。< / p>

有没有人测试过试图找到答案?如果这个问题没有得到答案,我会尝试自己做并发布结果。

到目前为止,我所拥有的所有信息都是可能能够支持大于30 MB的文件。我想这是因为我在我的iPhone上拍了很多原始照片,它们通常大小约为36MB,而且它们总是出现在我手表的照片应用程序中。

供参考,WCSession的文档包含WCErrorCodePayloadTooLarge的以下说明:

  

指示正在发送的项目超过最大大小的错误   限制。数据字典和数据都可能发生此类错误   文件。

     

在watchOS 2.0及更高版本中可用。

1 个答案:

答案 0 :(得分:28)

根据私人符号WCPayloadSizeLimitApplicationContextWCPayloadSizeLimitMessageWCPayloadSizeLimitUserInfo,限制(从iOS 9.0.2开始)是:

  • 65,536字节(65.5 KB)的消息
  • 65,536字节(65.5 KB)用于用户信息
  • 应用程序上下文的262,144字节(262.1 KB)

我不知道为什么Apple不会记录这个,除了通过WatchConnectivity发送字典以确定它们究竟有多大这一点时很难。当然,可接受的尺寸可能会随着时间而改变。

发送文件时,我无法找到(并且无法亲身观察)任何最大大小限制,但我发现在发送大文件时似乎不可靠(数百MB) )。