2015-06-14 18 views
24

Ho creato un'app iOS/Apple Watch con WatchKit 1.0 che utilizza un contenitore di gruppo condiviso e un framework personalizzato per accedere allo stesso archivio di dati di base. Ora, nella guida di transizione per watchos 2.0, Apple dice questo:Utilizzo di Core Data con watchOS 2.0

Se la vostra applicazione Watch esistente e iOS utilizzare un contenitore di gruppo condivisa o iCloud per lo scambio di dati, è necessario cambiare il modo di scambiare i dati in watchos 2. Poiché l'estensione WatchKit ora funziona su Apple Watch, l'estensione deve scambiare dati con l'app iOS in modalità wireless. Puoi farlo utilizzando un oggetto NSURLSession o utilizzando il framework Watch Connectivity, che supporta la comunicazione bidirezionale tra la tua app iOS e l'estensione WatchKit.

Come funziona con Core Data, tuttavia? Devo mantenere due negozi separati, uno nella cartella Documenti sull'orologio e uno sul telefono, e utilizzare il framework Watch Connectivity per sincronizzare le modifiche? Vedo che watchOS 2.0 può accedere al framework Core Data (è nella lista di Available Technologies) ... ma non sono sicuro di come sia utile quando il negozio si trova sul telefono. Qualsiasi aiuto/guida è apprezzato!

+0

Ciao, hai risolto questo problema. Si prega di aiutare con il codice su come accedere ai dati di base nel kit di sorveglianza OS 2 – Rajesh

risposta

8

Sì, è necessario mantenere due negozi separati. Se una delle due parti è un client "di sola lettura" e il datastore CoreData è di piccole dimensioni e cambia di rado, è possibile utilizzare l'API watchFile di TransferFile per trasferire l'intero archivio ogni volta che viene modificato.

+0

Devo ancora usare il gruppo condiviso per accedere al database dei dati di base di iPhone in watch kit os 2. – Rajesh

+1

No, il gruppo condiviso funziona solo per i processi in esecuzione sullo stesso dispositivo . In questo caso dovrai utilizzare il framework WatchConnectivity per coordinare tra i processi – ccjensen

+1

Quindi, come posso accedere al database dei dati di base che viene salvato nell'app per iPhone. – Rajesh

12

Si consiglia di impostare la sincronizzazione utilizzando il trasferimento in background di informazioni utente per eseguire il mirroring di ciascuna operazione del database in entrambe le direzioni (se necessario) dopo il trasferimento dello store alla prima esecuzione.

La sessione WWDC 713 - L'introduzione di Watch Connectivity copre i meccanismi richiesti. Bella API che hanno messo insieme.

+0

Grazie per la raccomandazione video; L'ho appena visto e mi ha aiutato molto! Sono d'accordo sull'API ... è facile da usare e svolge il lavoro. –

+3

puoi aiutarci a sincronizzare i dati principali tra iPhone e Watch? – Mukesh