web-dev-qa-db-fra.com

Quand les profils sont-ils renouvelés lors de l'utilisation de "Gérer automatiquement la signature"/allowProvisioningUpdates?

J'ai une application d'entreprise distribuée qui est construite sur un serveur de construction utilisant xcodebuild. L'année dernière, nous avons modifié l'utilisation de la fonctionnalité "Gérer automatiquement la signature" avec l'indicateur "-allowProvisioningUpdates". Le profil d'approvisionnement est bien généré avec cette technique, mais ce profil va durer un an et expire dans 31 jours.

Au départ, j'avais l'impression que l'utilisation de "allowProvisioningUpdates" provoquerait la régénération du profil d'approvisionnement à chaque nouvelle construction, mais si tel était le cas, il n'expirerait pas. Nous devons créer une nouvelle version avec un profil mis à jour afin que nos utilisateurs ne se retrouvent pas avec une application défectueuse dans quelques mois. Toutefois, le profil de provisioning généré n'apparaît pas dans la section "Certificats, identifiants et profils" du Centre de développement Apple, et je ne trouve aucun moyen de forcer Xcode ou xcodebuild à générer un nouveau profil de provisioning. Comment est-ce que je peux forcer ceci à arriver pour assurer aucun temps d'arrêt pour nos utilisateurs? Que se passera-t-il lorsque le profil expirera enfin?

13
blork

J'ai contacté Apple et voici ce qu'ils avaient à dire:

Gérer automatiquement la signature sur Xcode uniquement crée un nouveau profil d'approvisionnement après la date d'expiration du fichier précédent. 

C’est la meilleure option pour les nouvelles versions à soumettre à App Store car il n'y a pas d'indisponibilité des utilisateurs actuels lorsque le .__ profil d'approvisionnement.

Pendant que vous développez des applications internes, si vous laissez le provisioning Le profil expire pour signer automatiquement votre nouvelle construction (avec le nouveau profil d'approvisionnement mis en place automatiquement créé), vos utilisateurs ne pourront pas le faire accédez à votre application.

Par conséquent, la réponse semble être que nous ne devrions pas utiliser la signature automatique pour la distribution interne/d'entreprise, mais uniquement pour les déploiements App Store.

7
blork

J'avais le même problème avec quelques applications que nous distribuions en interne ... La solution qui a finalement fonctionné pour moi a été de supprimer l'ID de l'application du centre des développeurs, puis de laisser Xcode le recréer ainsi que tous les profils de provisioning correspondants. Cependant, gardez à l'esprit que si vous ne possédez qu'un seul ID d'application dans votre centre des développeurs, sa suppression entraînera également la suppression de votre certificat de signature ainsi que des profils de provisioning. Nous avons plusieurs applications qui dépendent de notre certificat, il n'a donc pas été supprimé. Cependant, le principal problème concernant le profil d'approvisionnement qui allait bientôt expirer a été résolu.

1
GetIntoCode

Bien que gênant pour ceux d'entre nous qui préférerions de loin tous les éléments avec des scripts, il s'avère que l'exécution manuelle d'une construction sur la machine dont le 'périphérique' n'est pas dans le profil d'approvisionnement automatique mettra à jour le profil.

Cela fonctionnait pour moi tout à l'heure, que j'aie archivé/exporté depuis la ligne de commande avec mes scripts ou depuis l'interface graphique xcode.

Aucune invite n'a été donnée, elle vient juste d'être mise à jour et de fonctionner en silence. 

Comme Apple nous a répondu ci-dessus, il s’agit peut-être d’une nouvelle fonctionnalité/correction avec Xcode 10.1, ce que je suis aujourd’hui.

0
AnneTheAgile

Essayez de créer manuellement un deuxième profil de provisioning sur le portail de développement, supprimez l'ancien profil du ~/Library/MobileDevice/Provisioning Profiles du serveur de génération, téléchargez et installez un nouveau profil. 

0
Oleg Shulakov