web-dev-qa-db-fra.com

Utiliser la production CloudKit pendant le développement?

Mes applications iOS et Mac ont été lancées sur l'App Store et tous mes utilisateurs, y compris moi-même, utilisent la base de données de production CloudKit. Ma question est la suivante: y a-t-il un moyen de cibler l'environnement de production pour mes développements de développement? Il semble qu'il n'y ait aucun moyen de cibler l'environnement de production en dehors du Mac App Store, et pour iOS, seule la distribution ad hoc peut cibler l'environnement de production. 

30
yilin

Ajoutez l’entrée suivante à votre fichier allowlements et effectuez une nouvelle génération. 

Cela vous permet d’exécuter votre application dans Xcode avec cloudKit en mode de production.

Entrée à ajouter: com.Apple.developer.icloud-container-environment

 enter image description here

60
RawMean

Je ne sais pas si le réglage du droit "Production" sur "com.Apple.developer.icloud-container-environment" fonctionnera sur un périphérique fonctionnant à partir de Xcode - cela ne fonctionne pas pour moi sur le simulateur.

Mais vous pouvez faire de vous un «réviseur interne» et exécuter une nouvelle version à l'aide de TestFlight. TestFlight utilise l'environnement de production. 

2
Peter B. Kramer

Extrait du Guide de conception iCloud https://developer.Apple.com/library/mac/documentation/General/Conceptual/iCloudDesignGuide/DesigningforCloudKit/DesigningforCloudKit.html#//Apple_ref/doc/uid/TP4001-4SW

Lors du développement, Xcode pointe automatiquement votre application vers l'environnement de développement. Avant d'expédier votre application, configurez-la à l'aide du flux de travail de distribution. Dans ce flux de travail, Xcode vous permet de choisir si vous souhaitez cibler l'environnement de développement ou de production et ajoute le droit com.Apple.developer.icloud-container-environment à votre application avec la valeur que vous avez sélectionnée. Avant l'expédition, veillez à configurer votre application pour l'environnement de production. Les applications qui ciblent l'environnement de développement seront rejetées par l'App Store.

Selon vos commentaires, voici quelques réflexions supplémentaires: Selon les directives de Apple, vous devez utiliser le code de développement tant que vous développez toujours le meilleur schéma de données pour votre application et permettre un développement plus rapide. Ensuite, Apple suggère de le mettre en production et de le tester avant de le donner au client. Donc, je pense que la réponse est que cela dépend de votre position dans le cycle de développement du produit. Si vous êtes dans les premiers stades, utilisez le dev env. Si vous avez des clients sur le terrain, j'utiliserais les envs de production pour la production, à condition que cela réponde à mes besoins. Si je développe de nouvelles fonctionnalités nécessitant des modifications de schéma, vous ne devez développer que celles de l'environnement de développement jusqu'à ce que vous soyez certain que leur déploiement en production ne perturbera rien pour les utilisateurs existants et leur permettra une transition en douceur. J'espère que cette aide.

2
harryhorn

En plus de com.Apple.developer.icloud-conteneur-environment. J'ai constaté que le nuage de production ne fonctionnait pas pour commencer. J'ai vérifié les journaux dans le tableau de bord et j'ai pu voir des erreurs. Ce n'est que lorsque j'ai déployé les paramètres de développement dans la production que cela a fonctionné. Il semble que le développeur crée automatiquement les nouveaux paramètres, mais pas celui de production. Je devrais peut-être utiliser l'application de manière plus programmée pour mettre les choses en place, mais j'espère que cette information sera utile.

0
William J Bagshaw