Насколько большой может быть полезная нагрузка при отправке данных через WatchConnectivity?
При отправке данных с использованием структуры WatchConnectivity, либо с телефона на часы, либо наоборот, насколько велика может быть полезная нагрузка до рамки, я получаю ошибку WCErrorCodePayloadTooLarge
?
Я не смог найти ответ на документацию Apple, и в настоящее время в Интернете не так много информации об этом в Интернете (на самом деле googling WCErrorCodePayloadTooLarge
дает мне всего 4 результата).
Кто-нибудь проверил, чтобы попытаться найти ответ на этот вопрос? Если этот вопрос не получит ответа, я постараюсь сделать это сам и опубликовать результаты.
До сих пор вся информация, которую я имею, заключается в том, что она может поддерживать файлы размером более 30 МБ. Я думаю, это потому, что я принимаю много сырых фотографий на моем iPhone, и они обычно имеют размер ~ 36 МБ, и они всегда отображаются в приложении для просмотра фотографий.
Для справки, WCSession документация имеет следующее описание WCErrorCodePayloadTooLarge
:
Ошибка, указывающая, что отправляемый элемент превышает максимальный размер предел. Этот тип ошибки может возникать как для словарей данных, так и для файлы.
Доступно в watchOS 2.0 и более поздних версиях.
Ответы
Ответ 1
В соответствии с частными символами WCPayloadSizeLimitApplicationContext
, WCPayloadSizeLimitMessage
, WCPayloadSizeLimitUserInfo
пределы (как и в iOS 9.0.2):
- 65,536 байт (65,5 КБ) для сообщения
- 65,536 байта (65,5 КБ) для информации пользователя
- 262,144 байта (262,1 КБ) для контекста приложения
Я не знаю, почему Apple не документирует это, кроме того, что при отправке словарей через WatchConnectivity может быть сложно определить, насколько они велики. Разумеется, допустимые размеры могут меняться со временем.
Я не мог найти (и лично не наблюдал) ограничение максимального размера при отправке файлов, хотя я заметил, что он кажется ненадежным при отправке больших файлов (сотни МБ).