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

How big can the payload be when sending data via WatchConnectivity?

当使用 WatchConnectivity 框架发送数据时,无论是从 phone 到手表还是反之,在框架给我 WCErrorCodePayloadTooLarge 错误之前负载有多大?

我无法在 Apple 的文档中找到答案,目前互联网上似乎也没有太多这方面的信息(事实上,谷歌搜索 WCErrorCodePayloadTooLarge 只给了我 4 个结果) .

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

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

作为参考,WCSession 的文档对 WCErrorCodePayloadTooLarge 的描述如下:

An error indicating that the item being sent exceeds the maximum size limit. This type of error can occur for both data dictionaries and files.

Available in watchOS 2.0 and later.

根据私有符号 WCPayloadSizeLimitApplicationContextWCPayloadSizeLimitMessageWCPayloadSizeLimitUserInfo,限制(截至 iOS 9.0.2)为:

  • 一条消息 65,536 字节 (65.5 KB)
  • 用户信息 65,536 字节 (65.5 KB)
  • 一个应用程序上下文需要 262,144 字节 (262.1 KB)

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

我在发送文件时找不到(也没有亲自观察到)任何最大大小限制,但我注意到当您发送大文件(数百 MB)时它似乎变得不可靠。