2015-07-03 18 views
6

Possiedo un'app IOS 8 che sta scrivendo correttamente i record nel contenitore predefinito del Cloudkit. Ora desidero leggere ed elaborare quei record in una diversa app sotto OS X. Ho configurato la nuova app con accesso iCloud e con l'opzione "specifica contenitori personalizzati" selezionata. È stato trovato correttamente il contenitore dell'app originale e ioAccesso al contenitore Cloudkit non predefinito con Swift

Tutte le mie ricerche mi dicono che "È possibile che due app firmate dallo stesso sviluppatore condividano lo stesso contenitore", ma nessuno dei documenti tutorial che riesco a trovare mi dicono come accedere ai dati da un contenitore personalizzato Tutti gli esempi sembrano iniziare con 'let container = CKContainer.defaultContainer()'. Tuttavia, non desidero accedere ai record dal contenitore predefinito. Voglio il contenitore personalizzato.

La documentazione Apple suggerisce di utilizzare un init () struttura ma questo mi ha anche sconcertato. Sembra una semplice richiesta. Spero che qualcuno possa darmi una soluzione semplice.

risposta

9

Questo è un codice non verificato, ma quello che ho capito è che i container personalizzati consentono di condividere questi contenitori su più app. Nel riquadro Funzionalità, puoi scegliere quali di tutti i contenitori sono disponibili in tutte le altre app che scegli di utilizzare in questa app. Il contenitore predefinito è iCloud.com.MyCompany.MyApp, che dovrebbe essere selezionato automaticamente. Ora che avete specificato che i contenitori si desidera, è possibile accedervi utilizzando il mio init()

let container = CKContainer(identifier: "iCloud.com.MyCompany.OneOfMyApps") 

In sostanza, l'identificatore è uno degli identificatori elencati nella capacità di iCloud riquadro sotto contenitori personalizzati.

+0

Mi ci è voluto un po '- grazie! – brainray

+0

@ imas145 Posso ottenere l'identificatore dalla titolarità a livello di codice? Non ha senso impostarlo due volte. (uno in diritto, l'altro in CKContainer) –