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

依然范特西╮ 提交于 2019-11-27 05:40:55

问题


When sending data using the WatchConnectivity framework, either from the phone to the watch or vice-versa, how big can the payload be before the framework gives me the WCErrorCodePayloadTooLarge error?

I couldn't find the answer on Apple's documentation, and there doesn't seem to be much information on this on the internet at this time (in fact, googling WCErrorCodePayloadTooLarge gives me just 4 results).

Has anyone tested to try to find the answer to this? If this question doesn't get an answer, I will try to do it myself and post the results.

So far, all the information I have is that it may be able to support files that are bigger than 30 MBs. I think this because I take a lot of raw photos on my iPhone, and they usually are ~36MB in size, and they always show up in my watch's Photos app.

For reference, WCSession's documentation has the following description of 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.


回答1:


According to the private symbols WCPayloadSizeLimitApplicationContext, WCPayloadSizeLimitMessage, WCPayloadSizeLimitUserInfo, the limits (as of iOS 9.0.2) are:

  • 65,536 bytes (65.5 KB) for a message
  • 65,536 bytes (65.5 KB) for a user info
  • 262,144 bytes (262.1 KB) for an application context

I don't know why Apple wouldn't document this, other than the fact that it can be difficult when sending dictionaries through WatchConnectivity to determine exactly how large they are. Certainly the acceptable sizes may change over time.

I couldn't find (and haven't personally observed) any maximum size limit when sending files, though I've noticed that it seems to get unreliable when you send large files (hundreds of MBs).



来源:https://stackoverflow.com/questions/33025915/how-big-can-the-payload-be-when-sending-data-via-watchconnectivity

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!