Errore Xcode 11 durante l'esportazione di IPA Non è stato trovato alcun profilo per "my.bundle.id"


12

Sto usando Xcode per creare file di esportazione .ipa da inviare ad Apple. L'ho fatto con successo prima dell'aggiornamento da Xcode 10 a Xcode 11.

Alcuni degli errori che abbiamo riscontrato suggerivano la necessità di disinstallare completamente Xcode perché in precedenza avevamo una versione beta e la vecchia versione di Xcode beta stava probabilmente causando i problemi. Ho deciso di pulire l'intero Mac con un ripristino del sistema per evitare che qualsiasi copia di Xcode Beta o delle sue impostazioni si trovasse sulla macchina. Quindi ora è un'installazione completamente nuova di Mac OS. Ho reinstallato Xcode.

Ho importato i miei vecchi certificati nel Portachiavi e verificato che ho elencato solo i certificati validi.

Eseguo due comandi. Per prima cosa creo un archivio. Quindi uso l'archivio per esportare 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

Nota che ho sostituito lo schema con XXXX e gli ID bundle nei miei esempi sono stati sostituiti con "my.bundle.id".

Questo processo funziona per fare uno sviluppo .ipa. Tuttavia, quando vado a creare un Testflight o Production .ipa ottengo errori.

Il primo comando viene eseguito senza errori e ho il file di archivio creato in "build-dev / XXX.archive". Il secondo comando genera errori:

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'.}

Questo è il mio file 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>

Sono in grado di costruire con successo da Xcode. È solo l'esportazione da riga di comando che sto emettendo.

L'ID bundle esiste sul mio account developer.apple.com. Ho un certificato di sviluppo iOS e Distrobution iOS nelle preferenze di Xcode.

Non sono sicuro del motivo per cui sto ricevendo questi errori.

Risposte:


15

Ehi, ho avuto anche questo problema. Quello che dovevo fare per risolvere questo problema era creare il file di archivio ed esportare un file IPA per TestFlight da xCode utilizzando la GUI. Durante tale processo xCode è stato in grado di creare il certificato mancante. Ora posso eseguire correttamente i comandi xCode della riga di comando.

I passaggi per utilizzare la GUI per creare il certificato necessario:

  • Apri Xcode
  • Seleziona prodotto
  • Seleziona Archive (Se Archive è grigio, esegui prima una build per il dispositivo iOS generico.)
  • Seleziona Distribuisci app
  • Seleziona App Store Connect dall'elenco dei pulsanti di opzione, quindi fai clic su Avanti.
  • Seleziona Esporta dall'elenco dei pulsanti di opzione, quindi fai clic su Avanti.
  • Controlla il Genera un certificato di distribuzione Apple.
  • Esporta il certificato come backup e condividilo con altri sviluppatori.

Di seguito è riportata una schermata della finestra "Genera un certificato di distribuzione Apple" che deve essere selezionata nel processo della GUI.

inserisci qui la descrizione dell'immagine


1
Grazie che ha risolto il problema. Mi ha richiesto di farlo per ogni azienda per cui costruiamo. Ho appena controllato il "genera certificato" nella GUI come hai menzionato e gli strumenti da riga di comando funzionano ora. Sembra un bug in Apple perché quando aggiungo il flag -allowProvisioningUpdates, non aggiorna automaticamente i profili, i certificati, ecc.
Daryl,

Ho riscontrato questo problema per il caricamento dell'app nativa su TestFilght. Ma ho già installato il mio .p12 perché vedo questa schermata? Qualcuno può aiutare?
Akshay Jadhav,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.