2015-10-08 15 views
10

Quando si inviano dati utilizzando il framework WatchConnectivity, dal telefono all'orologio o viceversa, quanto può essere grande il carico utile prima che il framework mi dia l'errore WCErrorCodePayloadTooLarge?Quanto può essere grande il carico utile quando si inviano dati tramite WatchConnectivity?

Non sono riuscito a trovare la risposta sulla documentazione di Apple e in questo momento non sembrano esserci molte informazioni su Internet (infatti, googling WCErrorCodePayloadTooLarge mi dà solo 4 risultati).

Qualcuno ha provato a cercare di trovare la risposta? Se questa domanda non ottiene una risposta, cercherò di farlo da solo e postare i risultati.

Finora, tutte le informazioni in mio possesso sono che è possibile che supporti file di dimensioni superiori a 30 MB. Penso questo perché prendo un sacco di foto grezze sul mio iPhone, e di solito sono di ~ 36 MB di dimensioni, e appaiono sempre nell'app Foto del mio orologio.

Per riferimento, la documentazione WCSession s' ha la seguente descrizione di WCErrorCodePayloadTooLarge:

un errore indicante che l'elemento essendo trasmettere supera il limite massimo . Questo tipo di errore può verificarsi sia per i dizionari di dati che per i file .

Disponibile in watchOS 2.0 e versioni successive.

risposta

24

Secondo i simboli privati ​​WCPayloadSizeLimitApplicationContext, WCPayloadSizeLimitMessage, WCPayloadSizeLimitUserInfo, i limiti (come di iOS 9.0.2) sono:

  • 65.536 byte (65,5 KB) per un messaggio
  • 65.536 byte (65,5 KB) per un utente informazioni
  • 262.144 byte (262,1 KB) per un contesto di applicazione

Non so perché Apple non potrebbe documentarlo, a parte il fatto che può essere difficile quando si inviano dizionari tramite WatchConnectivity per determinare esattamente quanto sono grandi. Certamente le dimensioni accettabili possono cambiare nel tempo.

Non è stato possibile trovare (e non ho osservato personalmente) alcun limite di dimensioni massime durante l'invio di file, anche se ho notato che sembra non essere affidabile quando si inviano file di grandi dimensioni (centinaia di MB).

+0

Grazie mille! Sì, invio di un dizionario di dimensioni superiori a 65,5 KB come dati di complicazione con transferCurrentComplicationUserInfo: su WCSession non riesce per me (mai consegnato, iOS 9.2.1, watchOS 2.1) – ersjoh

+0

@ersjoh Quindi, come si invia un dizionario di grandi dimensioni? http://stackoverflow.com/questions/42783611/userinfotransfer-payload-is-too-big – toast

+0

@AriX Quindi, come si invia un grande dizionario? http://stackoverflow.com/questions/42783611/userinfotransfer-payload-is-too-big – toast

Problemi correlati