2016-09-19 4 views
0

J'utilise Swift. Je peux montrer mon code si besoin est mais il y en a beaucoup et cela peut être déroutant et inutile (si vous voulez voir si vous pouvez me le faire savoir s'il vous plait).CloudKit stocker et restaurer des données lors des tests, l'application est maintenant disponible et les utilisateurs perdent leurs données

Donc, mon jeu doit enregistrer des choses comme les meilleurs scores et les achats. Lorsque je suis en train de tester mon application avec Xcode, les scores élevés sont enregistrés et je peux supprimer l'application, la réinstaller et la récupérer à partir de CloudKit. J'ai soumis l'application à Apple et ils ont également constaté que le système de suivi des achats CloudKit fonctionnait et le laissait passer dans l'App Store. J'ai parlé à quelques amis de mon application et je voulais qu'ils la testent un peu. Pour une raison quelconque, chaque fois qu'ils suppriment et réinstallent l'application toutes leurs données sont perdues! Il ne fonctionne pas de la même manière que pour Xcode (ou pour Apple d'ailleurs). La chose vraiment ennuyeuse est que cela prend 3-5 jours pour les mises à jour que j'écris pour arriver à la mise à jour et je ne peux même pas identifier le problème car ici, sur Xcode, cela fonctionne parfaitement.

Est-ce que quelqu'un sait où se situe le problème? Où pourrais-je regarder dans mon code ou les endroits que je pourrais vérifier?

Merci!

Édition 1: Aussi une sorte de suivi: Un de mes amis est à l'étranger et est toujours en mode avion. Lorsque je vérifie le CKContainerID en mode avion lors du test, il trouve l'utilisateur parfaitement. Pour lui, cependant, il pense qu'aucun utilisateur n'est connecté.

Pourquoi tout cela est-il différent dans la production ??

Édition 2: Je trouve des choses concernant le cloudkit de production et le cloudkit de développement? Je ne suis absolument pas familier avec ça. Deuxièmement, je n'ai pas dérangé avec le tableau de bord CloudKit. Mon code essaie essentiellement de tirer de CloudKit de l'utilisateur et s'il ne peut pas trouver ces enregistrements alors il utilisera la fonction saveRecord pour le créer.

Édition 3: Je viens de regarder ce tutoriel: https://developer.apple.com/library/content/documentation/DataManagement/Conceptual/CloudKitQuickStart/DeployingYourCloudKitApp/DeployingYourCloudKitApp.html#//apple_ref/doc/uid/TP40014987-CH10 et quand j'ai suivi ces étapes pour déployer le schéma, je vois que les "changements de types d'enregistrement" répertorie chaque enregistrement que j'ai. Est-ce que cela signifie qu'il n'y a actuellement aucun enregistrement pour la production, ce qui signifie que personne ne peut sauver quoi que ce soit? Est-ce que je dois juste suivre toutes ces étapes pour déployer au développement et je vais bien? Je ne suis pas sûr de ce que cela fait, alors j'hésite à le faire.

Répondre

0

Compris! Reportez-vous à ma 3ème édition. Fondamentalement, mes détenteurs de données étaient tous dans le nuage de développement, donc quand les utilisateurs essayaient de sauvegarder/extraire leurs données, il n'y avait rien dans le nuage de production pour les enregistrer/tirer. En suivant ce petit tutoriel Apple et en poussant essentiellement mon schéma du développement à la production, mes utilisateurs ont pu stocker leurs données environ 10 minutes après la fin!