2015-10-08 58 views
10

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

我找不到苹果文档的答案,目前在互联网上似乎没有太多关于此的信息(实际上,使用Google搜索WCErrorCodePayloadTooLarge只给出了4个结果)。

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

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

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

指示该项目被发送的错误超过了最大大小 限制。数据字典和 文件都可能出现此类错误。

适用于watchOS 2.0及以后的版本。

回答

24

根据该专用符号WCPayloadSizeLimitApplicationContextWCPayloadSizeLimitMessageWCPayloadSizeLimitUserInfo,极限(如9.0.2的iOS的)是:用于消息

  • 65,536字节

    • 65,536字节(65.5 KB)( 65.5 KB)用于用户信息
    • 262144个字节(262.1 KB),用于一个应用程序上下文

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

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

  • +0

    非常感谢!是的,发送一个大于65.5KB的字典作为复杂数据与transferCurrentComplicationUserInfo:在WCSession失败我(从未交付,iOS 9.2.1,watchOS 2.1) – ersjoh

    +0

    @ersjoh那么你如何发送一个大字典? http://stackoverflow.com/questions/42783611/userinfotransfer-payload-is-too-big – toast

    +0

    @AriX那么你如何发送一个大字典? http://stackoverflow.com/questions/42783611/userinfotransfer-payload-is-too-big – toast

    相关问题