2012-09-09 12 views
6

Al momento ho solo un dispositivo iOS e finora non è stato un problema. Ma ora voglio aggiungere il supporto di sincronizzazione iCloud alla mia app (che utilizza i dati principali).Test di sincronizzazione iCloud con un singolo dispositivo iOS

Il test sarà semplicemente impossibile finché non ottengo un secondo dispositivo? Oppure è possibile utilizzare iOS Simulator insieme al mio dispositivo o falsificare dati iCloud per testare la sincronizzazione di iCloud?

Modifica: Non ci vuole molta ricerca per scoprire che iCloud, in particolare con Core Data, richiede sicuramente test approfonditi e che certamente significa test con più di un dispositivo!

+3

http://developer.icloud.com/ consente di visualizzare ciò che hai sincronizzato su iCloud. – jrtc27

+1

Finora, il simulatore non può essere utilizzato per il test di iCloud. Speriamo che la Apple lo permetta ad un certo punto. Puoi vedere ciò che hai sincronizzato accedendo a "~/Library/Mobile Documents" sul tuo Mac, dato che hai configurato lo stesso account iCloud su di esso. – Jorge

risposta

3

Potresti usare il tuo mac come secondo dispositivo e prendere il backend del tuo codice dati iOS e scrivere un'app di test per il mac. Dovrai eseguire l'app come un'app sandbox in xcode e inserire lo stesso nome sandbox nelle impostazioni dell'app affinché le app possano visualizzarsi reciprocamente.

Per eseguire questo lavoro è necessario creare un'app mac sul portale di provisioning (richiede una licenza per sviluppatore Mac 99 dollari - più economica di un dispositivo iOS) e abilitarla per iCloud.

In generale, a meno che non si stia tentando di gestire i conflitti di unione nell'app, non è necessario testare iCloud stesso. Tutto ciò che si trova nel contenitore dell'ubiquità sarà infatti sincronizzato. Se è necessario il controllo transazionale su più dispositivi (gli stessi documenti vengono aggiornati su più dispositivi contemporaneamente per lo stesso utente, è necessario gestire i conflitti), a seconda di ciò che l'app potrebbe causare.

+0

Grazie! Stavo pensando a una porta per Mac OS ma non mi ero reso conto che significa acquistare un'altra licenza di sviluppatore su quella iOS. Ho pensato che avrei potuto semplicemente creare un secondo obiettivo fittizio dell'app con un ID app diverso (e registrarlo in iTunes Connect per utilizzare lo stesso ID iCloud) al fine di distribuire due versioni separate dell'app sul mio iPhone .Poi ho potuto provare tutto sullo stesso dispositivo, modificando i dati nella prima versione e aprendo la seconda versione per testare la sincronizzazione. – Clafou

+1

Potresti farlo ma non proverai nulla. Entrambe le app avrebbero accesso allo stesso contenitore di ubiquità sullo stesso dispositivo. –

+0

Ah si, grazie! – Clafou

3

Un modo per testare almeno un sottoinsieme della sincronizzazione è installare l'app sul dispositivo, aggiungere alcuni dati, sincronizzare i dati su iCloud, quindi eliminare l'app dal dispositivo.

Quando lo si installa di nuovo e si sincronizza su iCloud, è necessario recuperare gli stessi dati precedentemente sincronizzati su iCloud.

Non è esattamente in tempo reale, ma dovrebbe darti qualcosa con cui lavorare.

+0

Buona idea, è un punto di partenza ma non posso rilasciare l'app senza testare cosa succede quando un'installazione che ha già dati utente viene sincronizzata tramite iCloud. – Clafou

5

In Xcode 5:

OS Simulator ora supporta la sincronizzazione iCloud di documenti e dati KVS all'interno di un app, che permette applicazioni per la sincronizzazione tra i dispositivi utilizzando iCloud. Questa funzione è utile durante i test per garantire che l'app documenti e i dati siano sincronizzati correttamente su più dispositivi.

Nota: con l'app in esecuzione in iOS Simulator, accedere a un account Apple ID utilizzando l'app Impostazioni. Dopo aver effettuato l'accesso, utilizzare il comando "Trigger iCloud sync" nel menu Debug per dire al simulatore di sincronizzare con altri dispositivi.

+0

Grazie mille! –

+0

Si consiglia di eseguire 2 dispositivi di simulazione contemporaneamente. In questo modo sarai in grado di visualizzare aggiornamenti da un dispositivo all'altro. Vedere il mio commento all'indirizzo: http://stackoverflow.com/questions/26446346/xcode6-run-two-instances-of-the-simulator/26446438#comment45601483_26446438 – ObjectiveTC

Problemi correlati