2016-04-27 1 views
1

Je viens d'ajouter un Apple Watch à mon environnement de développement, et j'ai dû régénérer mon profil de provisionnement de développement pour inclure ce périphérique car XCode ne le traiterait pas automatiquement. J'ai relancé l'application sur mon iPhone et mon iPad et maintenant mon application ne montre aucune donnée même si je sais qu'il y a des données dans iCloud. Si je crée des données sur l'un des appareils, cette nouvelle information apparaît sur l'autre appareil. Donc, en recréant mon profil d'approvisionnement, les appareils ont commencé à ignorer les anciennes données sur iCloud, et y a-t-il un moyen de récupérer ce qu'il y avait?Le changement du profil d'approvisionnement affecte-t-il iCloud?

Répondre

0

Il s'avère que cela n'avait rien à voir avec l'approvisionnement. J'avais créé les données d'origine sur une ancienne version de l'application. J'ai ensuite ajouté un attribut au modèle de base de données et mis en œuvre la migration automatique qui semblait fonctionner correctement, mais après l'installation de la nouvelle version de l'application mise à jour, il semblait perdre sa capacité à accéder aux anciennes données. J'ai réinstallé la version 1.0 et les données sont toutes revenues. C'est troublant, car je m'inquiète de ce qui se passera dans l'environnement de production si l'utilisateur crée des données sur une ancienne version, puis installe une mise à jour. Est-ce que leurs données seront également perdues dans iCloud ?!

0

Il doit migrer les données s'il remplace une application signée de la même manière avec le même ID de bundle. Si la version 1.0 provient de l'App Store et que vous l'avez remplacée par une version de développement ou ad hoc, elle ne fera pas la migration car les données sont stockées différemment pour les versions App Store par rapport aux versions non App Store. Voir this pour plus d'informations.

Pouvez-vous confirmer que la version 1.0 et la nouvelle version étaient toutes deux des versions internes (c'est-à-dire qu'elles ne provenaient pas de l'App Store)?

+0

Oui, ce sont les deux versions internes. L'application n'est pas encore disponible sur l'App Store. Ma réponse ci-dessus n'est pas entièrement exacte non plus. Lorsque j'exécute la cible Watch de mon application pour tester l'extension Watch, les données existantes disparaissent du téléphone et sont remplacées par les données que j'ai créées la première fois qu'elles ont disparu. Est-il possible que l'ID de regroupement de l'application de surveillance oblige le téléphone à utiliser un autre magasin de données de base? – mashers

+0

C'est possible, mais je trouve cela inhabituel. Vous êtes sûr que vous n'avez pas modifié involontairement l'ID de bundle entre la version 1 et 2. Sinon, cela pourrait être un bug de construction iOS/Xcode. Je n'ai jamais fait iCloud CoreData avec une extension Apple Watch. Avez-vous regardé cette question: http://stackoverflow.com/questions/30240585/using-same-icloud-enabled-coredata-store-across-watch-extension-and-iphone – wottle