Erreur Xcode 11 lors de l'exportation de l'IPA Aucun profil pour 'my.bundle.id' n'a été trouvé

12

J'utilise Xcode pour créer des fichiers d'exportation .ipa à soumettre à Apple. Je l'ai fait avec succès avant la mise à niveau de Xcode 10 vers Xcode 11.

Certaines des erreurs que nous avons rencontrées suggéraient que nous devions désinstaller complètement Xcode, car nous avions une version bêta précédemment et l'ancienne version de Xcode bêta était probablement à l'origine des problèmes. J'ai décidé de simplement nettoyer l'intégralité du Mac avec une réinitialisation du système pour éviter toute copie de Xcode Beta ou de ses paramètres sur la machine. Il s'agit donc maintenant d'une toute nouvelle installation de Mac OS. J'ai réinstallé Xcode.

J'ai importé mes anciens certificats dans le trousseau et vérifié que seuls les certificats valides sont répertoriés.

J'exécute deux commandes. Je crée d'abord une archive. Ensuite, j'utilise l'archive pour exporter l'ipa:

xcodebuild -allowProvisioningUpdates -workspace my_app.xcworkspace -scheme XXXX -archivePath build-dev/XXXX.xcarchive archive
xcodebuild -exportArchive -archivePath build-dev/XXXX.xcarchive -exportOptionsPlist release.plist -exportPath build-dev

Notez que j'ai remplacé le schéma par XXXX et que les ID de bundle dans mes exemples ont été remplacés par «my.bundle.id».

Ce processus fonctionne pour faire un développement .ipa. Cependant, lorsque je vais créer un testflight ou un .ipa de production, j'obtiens des erreurs.

La première commande s'exécute sans erreur et j'ai le fichier d'archive créé dans "build-dev / XXX.archive". La deuxième commande génère des erreurs:

2019-09-30 12:11:46.444 xcodebuild[10674:326155] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/10/8g5xrhr56wz6sgttzh0_s8fr0000gn/T/XXXX_2019-09-30_12-11-46.444.xcdistributionlogs'.

2019-09-30 12:11:56.534 xcodebuild[10674:326208]  DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-14936/IDEFoundation/Provisioning/Logging/IDEProvisioningLedger.m:172

Details:  Unable to close provisioning ledger entry because not all of its subentries are closed
Object:   <IDEProvisioningLedgerEntry: 0x7ff7568b7a00>
Method:   -closeWithError:
Thread:   <NSThread: 0x7ff750b16af0>{number = 14, name = (null)}
Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
error: exportArchive: Create certificate

Error Domain=IDEProvisioningErrorDomain Code=19 "Create certificate" UserInfo={IDEDistributionIssueSeverity=3, IDEProvisioningError_UserInfoKey_IDEProvisioningUserAction=<IDEProvisioningCreateTeamOwnedCertificateUserAction: 0x7ff756acf0c0>, NSLocalizedRecoverySuggestion=Create a new Apple Distribution certificate for your team., NSLocalizedDescription=Create certificate}

error: exportArchive: No profiles for 'my.bundle.id' were found

Error Domain=IDEProfileLocatorErrorDomain Code=1 "No profiles for 'my.bundle.id' were found" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=No profiles for 'my.bundle.id' were found, NSLocalizedRecoverySuggestion=Xcode couldn't find any iOS App Store provisioning profiles matching 'my.bundle.id'.}

Ceci est mon fichier release.plist.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>method</key>
    <string>app-store</string>
    <key>teamID</key>
    <string>MY-TEAM-ID</string>
    <key>compileBitcode</key>
    <false/>
</dict>
</plist>

Je peux construire avec succès depuis Xcode. Ce n'est que l'exportation en ligne de commande avec laquelle j'ai émis.

L'identifiant du bundle existe sur mon compte developer.apple.com. J'ai un certificat iOS Development et iOS Distrobution valide dans les préférences Xcode.

Je ne sais pas pourquoi j'obtiens ces erreurs.

Daryl
la source

Réponses:

15

Hé, j'ai eu ce problème aussi. Ce que je devais faire pour résoudre ce problème était de créer le fichier d'archive et d'exporter un fichier IPA pour TestFlight à partir de xCode à l'aide de l'interface graphique. Au cours de ce processus, xCode a pu créer le certificat manquant. Maintenant, je peux exécuter les commandes xCode en ligne de commande avec succès.

Étapes pour utiliser l'interface graphique pour créer le certificat nécessaire:

  • Ouvrir Xcode
  • Sélectionner un produit
  • Sélectionnez Archive (si Archive est gris, faites d'abord une construction pour le périphérique iOS générique.)
  • Sélectionnez Distribuer l'application
  • Sélectionnez App Store Connect dans la liste des boutons radio, puis cliquez sur Suivant.
  • Sélectionnez Exporter depuis la liste des boutons radio, puis cliquez sur suivant.
  • Cochez la case Générer un certificat de distribution Apple.
  • Exportez le certificat en tant que sauvegarde et partagez-le avec vos collègues développeurs.

Ci-dessous, une capture d'écran de la fenêtre "Générer un certificat de distribution Apple" qui doit être cliquée dans le processus GUI.

entrez la description de l'image ici

Austin
la source
1
Merci d'avoir résolu le problème. Cela m'a obligé à le faire pour chaque entreprise pour laquelle nous construisons. Je viens de vérifier le "générer un certificat" dans l'interface graphique comme vous l'avez mentionné et les outils de ligne de commande fonctionnent maintenant. Ressemble à un bogue dans Apple car lorsque j'ajoute l'indicateur -allowProvisioningUpdates, il ne met pas automatiquement à jour les profils, les certificats, etc.
Daryl
J'ai rencontré ce problème pour le téléchargement d'application native vers TestFilght. Mais j'ai déjà installé mon .p12 alors pourquoi je vois cet écran? Quelqu'un peut-il aider?
Akshay Jadhav