当使用WatchConnectivity框架发送数据时,无论是从手机还是手表,反之亦然,在框架给出WCErrorCodePayloadTooLarge错误之前,有效载荷有多大?
我找不到苹果文档的答案,目前在互联网上似乎没有太多的信息(实际上,谷歌搜索WCErrorCodePayloadTooLarge只给我4个结果).
有人测试过试图找到答案吗?如果这个问题没有得到答案,我会尝试自己做的,并发布结果.
到目前为止,我所有的信息是它可能能够支持大于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.
解决方法
根据私有符号WCPayloadSizeLimitApplicationContext,WCPayloadSizeLimitMessage,WCPayloadSizeLimitUserInfo,限制(作为iOS 9.0.2)是:
> 65,536字节(65.5 KB)的消息
> 65,536字节(65.5 KB)的用户信息
> 262144字节(262.1 KB)用于应用程序上下文
我不知道为什么苹果不会记录这个事实,除了通过WatchConnectivity发送字典以确定它们有多大的事实可能是困难的事实.当然,可接受的尺寸可能随时间而变化.