2015-10-08 7 views
10

Beim Senden von Daten mit dem WatchConnectivity-Framework, entweder vom Telefon auf die Uhr oder umgekehrt, wie groß kann die Payload sein, bevor das Framework mir den WCErrorCodePayloadTooLarge Fehler gibt?Wie groß darf die Nutzlast sein, wenn Daten über WatchConnectivity gesendet werden?

Ich konnte die Antwort auf Apples Dokumentation nicht finden, und es scheint im Moment nicht viele Informationen darüber im Internet zu sein (in der Tat, Googeln WCErrorCodePayloadTooLarge gibt mir nur 4 Ergebnisse).

Hat jemand getestet, um zu versuchen, die Antwort darauf zu finden? Wenn diese Frage nicht beantwortet wird, werde ich versuchen, es selbst zu tun und die Ergebnisse zu posten.

Bis jetzt alle Informationen, die ich habe, ist es kann in der Lage sein, Dateien zu unterstützen, die größer als 30 MB sind. Ich denke das, weil ich eine Menge roher Fotos auf meinem iPhone nehme, und sie sind normalerweise ~ 36MB groß, und sie erscheinen immer in der Fotos App meiner Uhr.

Als Referenz WCSession ‚s Dokumentation hat die folgende Beschreibung von WCErrorCodePayloadTooLarge:

einen Fehler anzeigt, dass das Element überschreitet die Grenze maximalen Größe gesendet werden. Dieser Fehlertyp kann sowohl für Datenwörterbücher als auch für Dateien auftreten.

Verfügbar in watchOS 2.0 und höher.

Antwort

24

Nach den privaten Symbole WCPayloadSizeLimitApplicationContext, WCPayloadSizeLimitMessage, WCPayloadSizeLimitUserInfo, die Grenzen (wie von IOS 9.0.2) sind:

  • 65.536 Bytes (65,5 KB) für eine Nachricht
  • 65.536 Bytes (65,5 KB) für einen Benutzer info
  • 262.144 Bytes (262,1 KB) für einen Anwendungskontext

Ich weiß nicht, warum Apple das nicht dokumentieren würde, außer dass es beim Senden von Wörterbüchern über WatchConnectivity schwierig sein kann, genau festzustellen, wie groß sie sind. Sicherlich können sich die akzeptablen Größen im Laufe der Zeit ändern.

Ich konnte beim Senden von Dateien keine maximale Größenbeschränkung finden (und habe sie nicht persönlich beobachtet), obwohl ich festgestellt habe, dass sie beim Senden großer Dateien (Hunderte von MB) unzuverlässig zu sein scheint.

+0

Vielen Dank! Ja, ein Wörterbuch, das größer als 65.5KB ist, als Komplikationsdaten mit transferCurrentComplicationUserInfo senden: auf WCSession schlägt für mich fehl (nie geliefert, iOS 9.2.1, watchOS 2.1) – ersjoh

+0

@ersjoh Wie also senden Sie ein großes Wörterbuch? http://stackoverflow.com/questions/42783611/userinfofoerster-payload-is-too-big – toast

+0

@AriX So, wie senden Sie ein großes Wörterbuch? http://stackoverflow.com/questions/42783611/userinfotransfer-payload-ist-too-big – toast

Verwandte Themen