Mi piacerebbe scrivere test automatici per il mio codice CloudKit utilizzando il framework XCTest. Il caso di test viene eseguito, ottiene un oggetto contenitore valida, ottiene un oggetto di database pubblica valida, ma poi muore con un'eccezione quando provo a fare qualcosa di reale:Esecuzione del codice CloudKit nei test?
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'Failed to establish valid container/bundleID information'
Quello che ho provato finora:
- Ho controllato lo
Info.plist
per il mio target di test e l'ID del bundle corrisponde all'ID del contenitore. - Ho swizzled
[[NSBundle mainBundle] bundleIdentifier]
per assicurarsi che restituisca l'ID bundle corretto. - Ho copiato le autorizzazioni iCloud dalla destinazione della mia app principale.
Ma ho ancora l'eccezione. C'è un modo per far funzionare il codice CloudKit nei test?
Ho ricevuto questo errore quando il mio provisioning non era corretto. Controlla che nella pagina delle impostazioni del progetto non sia presente alcun errore accanto al team e che, in base alle funzionalità, l'attivazione di iCloud sia attiva, il servizio Cloudkit sia selezionato e senza passaggi contrassegnati non validi. Dopo averlo risolto, i miei test funzionano OK. –