Sto costruendo un'applicazione iOS con CloudKit.Deleted CloudKit records Reappear
Dovrebbe consentire a un utente di aggiungere, modificare ed eliminare Products
nel cloud. L'utente può organizzarli in Cartelle. Queste cartelle sono solo altri tipi di record in cloudkit. Non vi è alcun limite ai livelli di cartella che l'utente può utilizzare, poiché qualsiasi cartella può semplicemente contenere un CKReference
nella cartella principale. Tutte le comunicazioni CloudKit nella mia app avvengono in una classe CloudKitController dedicata
Tutto questo funziona, ma smette di funzionare dopo un po 'senza una chiara motivazione.
Quando eseguo il test della mia app, non ho nemmeno cartelle utente con profondità multiple. Tuttavia, dopo averlo usato per un po '(fino a una settimana), tutti i record cancellati sembrano riapparire su CloudKit. Un paio di note su questo:
- Quando reimposta il dashboard CloudKit e ricominciare tutto da capo, funziona perfettamente. Non sono state apportate modifiche al codice.
- Ovviamente, sto modificando costantemente il mio codice mentre l'app è in sviluppo. Tuttavia, in genere non modifico i tipi di dati nel mio codice che devono essere memorizzati in CloudKit. In seguito, questo problema non si verifica in seguito
- Le modifiche nel CloudKit Dashboard (ad esempio l'aggiunta di tipi di dati) non causano questo problema
- Non memorizzo alcun record localmente, come nei dati di base. Si siedono in un singleton finché io li uso
- Quando vado a CloudKit Dashboard, il tipo di record prodotto mostra che ha per es. 13 istanze. A volte è così brutto, che la mia app ne carica più di 100. Posso anche vederli quando vado su recordZone, ma il RecordType dice che ha solo 13 istanze
- L'eliminazione di questi record in CloudKit Dashboard li fa sparire solo per un mentre. Quando ricarico la pagina, si aprono di nuovo.
E 'stato così per un po' ora, e ho controllato il mio codice, la libreria Apple e google numerose volte ma non riesco a capire che cosa causa questo problema.
Domanda: Qualcuno saprebbe qualcosa su come superare questo problema? Come ho detto, mi sono imbattuto in questo per settimane, e resettare il mio cruscotto CloudKit lo "cura" solo per una settimana, poi si apre di nuovo. Sarei anche più che felice di pubblicare qualsiasi codice se questo ti aiuterebbe a rispondere alla mia domanda. Non ho pubblicato alcun codice inizialmente, in quanto non ho idea di quale codice possa causare questo.
Qualsiasi risposta sarebbe molto apprezzato
Ho avuto lo stesso identico problema. Continuo a provare a eliminare uno dei miei tipi di record, ma i record torneranno dopo un po ', il che è problematico perché il tipo di record è effettivamente cambiato (il tipo di record mostra il cloudkit omette in realtà i campi che non erano comuni tra il vecchio e il nuovo). Come confuso. – Narwhal
Buono a sapersi che almeno non sono l'unico. Nel tuo caso, questo problema si presenta dopo aver eseguito un'attività specifica nell'app o nel database? – Joris416
Ho fatto un po 'di casino, quindi non ne sono sicuro. Ad ogni modo, ho resettato il database completamente, e ho continuato a dare da allora. Tuttavia, sarei riluttante a doverlo fare se molti dati sono stati già salvati (finora, nulla di ciò che ho salvato è stato importante e può essere eliminato). – Narwhal