2016-04-19 1 views
0

Selon this Apple article, j'ai configuré mon projet pour le code de signe automatiquement.Comment un Xcode Bot choisit-il le certificat utilisé pour signer un .ipa si tout est réglé sur "Automatique"?

Un jeu de Bot pour exécuter un programme en utilisant la configuration "Release" builds une archive qui télécharge à TestFlight fin (via pilot.)

Un jeu de Bot pour exécuter un programme en utilisant la configuration "Debug" construit, mais ne parvient pas à télécharger vers TestFlight en raison d'une erreur de certificat. Inspectant le .ipa, son embedded.mobileprovision contient un certificat de développement.

Pourquoi? Qu'est-ce qui fait que Xcode décide d'utiliser un certificat de développement pour les versions Debug et un certificat de distribution pour les versions Release?

+0

Il le fait avec l'équipe que vous sélectionnez pour le projet, je pense. – NSNoob

+0

L'article lié indique «Définir le paramètre de génération de l'identité de signature de code: défini sur iOS Developer pour toutes les configurations de construction dans les cibles iOS.», Ce que nous avons, même pour 'Release'. Pourtant, la version Bot construit encore un .ipa avec le cert de distribution. –

Répondre

0

Les versions de débogage utilisent les profils iOS Team Provisioning. Si vous définissez l'équipe sur la partie Xcode de l'application Serveur, elle télécharge automatiquement tous les profils dans le bon répertoire de votre système pour que le robot les trouve. Sinon, vous devez les copier manuellement dans le répertoire/library/developer/xcodeserver/provisioning profile.

enter image description here

+0

Tout cela est vrai et cela fonctionne pour mes versions Release. Mais pour toute autre configuration, il choisit le CERT de développement et non un CERT de distribution. Je veux que le bot signe avec un certificat de distribution après avoir construit avec une configuration qui n'est pas Release. –

+0

Avez-vous essayé de spécifier ce certificat dans les paramètres de génération de la cible de débogage? – Maria

+0

Oui, et cela casse complètement le provisionnement automatique. Je veux éviter de copier manuellement les profils - ils changent chaque fois que vous branchez un nouveau périphérique de test dans la machine d'un développeur. –