Sto provando a caricare un'app nell'app store e ricevo questo errore nella pagina che contiene i certificati. Per quanto ne so ho cambiato campo in modo che si siano abbinati, ma mi manca qualcosa.

Qualsiasi aiuto sarebbe molto apprezzato.

Sto provando a caricare un'app nell'app store e ricevo questo errore nella pagina che contiene i certificati. Per quanto ne so ho cambiato campo in modo che si siano abbinati, ma mi manca qualcosa.

Qualsiasi aiuto sarebbe molto apprezzato.

Risposte:
Non sono sicuro del motivo per cui questo lo ha risolto, ma sono andato nella scheda Capacità del mio obiettivo, ho attivato iCloud, ho provato a creare un archivio, non è riuscito, ho disattivato di nuovo iCloud, ho provato a fare una build dell'archivio ed è riuscito, e dopodiché è stato di nuovo in grado di risolvere automaticamente i certificati.
Fare clic con il tasto destro sul Finder -> Vai alla cartella ...
~/Library/MobileDevice/Provisioning
Per Xcode 11
~/Library/MobileDevice/Provisioning Profiles/
Elimina tutti i profili di provisioning, fatto.
~/Library/MobileDevice/Provisioning Profiles/
L'app che hai creato ha un application-identifiervalore errato , per quello che si aspetta il profilo di provisioning. Il certificato per appID com.example.foo per il team 2ABCDEFG si aspetterà l'identificatore dell'applicazione: 2ABCDEFG.com.example.foo, la tua app ha dichiarato che il suo ID app era com.example.foo, ma l'identificatore dell'applicazione non corrispondeva , o stai usando il prefisso del team sbagliato o hai il bundleID non configurato correttamente.
Nel mio caso, sto usando schemi di compilazione per permettermi di creare un'app prod e un'app qa. com.example.foo per prod e com.example.foo.qa per QA. Avevo impostato il mio bundleIdentifier in Info.plist su $ (PRODUCT_BUNDLE_IDENTIFIER) $ (BUNDLE_SUFFIX), che funziona benissimo nel simulatore e sul dispositivo per avere app diverse, tuttavia, quando l'app genera il suo identificativo dell'applicazione durante la fase di archiviazione, non deve leggere il bundleIdentifier generato da Info.plist.
Per rimediare alla situazione, ho modificato FooProject.xcodeproj / project.pbxproj (con un editor di testo) per modificare il mio QA buildSettings PRODUCT_BUNDLE_IDENTIFIER in com.example.foo.qa
Puoi vedere le domande e risposte tecniche di Apple per vedere la loro immersione approfondita per risolvere questo problema. Dopo aver eseguito i diritti di codice sulla tua app esportata e aver visto con quale identificatore di applicazione la tua app è stata appena creata, dovrebbe essere abbastanza veloce per capire cosa stai facendo di sbagliato. https://developer.apple.com/library/content/qa/qa1879/_index.html Non ho trovato quella pagina nella mia ricerca su Google, perché in realtà non usano la frase del messaggio di errore o chiamano l'applicazione -identificatore con il suo nome completo, ma dì invece ID app.
Inoltre, la soluzione a questo problema non è quella di generare un nuovo profilo di provisioning che abbia il diritto all'identificativo dell'applicazione, ma ha tale diritto, tuttavia, il valore nel profilo di provisioning e la tua app devono corrispondere.
Forse mancava il file {project} .entitlements. Fare ciò che @samkass menzionato genererà automaticamente il file e funzionerà. Quindi, in pratica, vai alla scheda funzionalità, abilita qualsiasi cosa e disabilitala.
In Xcode 11, ciò potrebbe accadere quando un file .entitlement non è presente per il tuo progetto. La soluzione sarebbe aggiungere qualsiasi capacità casuale facendo clic su "+ Capacità" in "Firma e funzionalità" (che porta alla creazione di un file .entitlement) e quindi rimuovere la capacità. Ciò ti consentirà anche di fornire automaticamente un certificato.
Controlla le funzionalità dell'applicazione richieste per la tua applicazione come acquisto in app, notifica push, audio Inter App, kit Siri ecc.
Questa è l'unica causa di questo tipo di errore.
Assicurati che nel tuo ID app siano attivi i flag sopra.
Il più delle volte accade quando non hai configurato la notifica push, l'acquisto in app nell'ID app di sviluppo.
Per me, il trucco era
Nel mio caso il problema era il seguente: il profilo di provisioning utilizzato per la fase di creazione è stato creato per un ID app diverso dal profilo di provisioning utilizzato per la fase di esportazione.
Quindi assicurati di utilizzare lo stesso profilo di provisioning per la fase di creazione ed esportazione.
Funzionalità di controllo incrociato nell'app con le opzioni abilitate per l'ID app nel tuo account sviluppatore.
Ho provato alcune opzioni elencate nelle risposte qui, ma nessuna ha aiutato, tuttavia, disattivando e attivando la casella di controllo "Gestisci automaticamente la firma" il problema è stato risolto.
TL; DR: controlla il tuo ID app e assicurati che i servizi corrispondano a ciò che è nel tuo target.
Quello che mi è successo è stato che ho lasciato che Xcode 10.1 mi aiutasse a creare un ID app, dopodiché mi sono imbattuto nel problema come descritto qui. (Ho selezionato l'ID app whildcard quando ho creato l'app in iTunesConnect, quindi non mi sono nemmeno reso conto che fosse stato fatto.) Quando ho aperto il portale per sviluppatori iOS, il nuovo ID app ha Game Center e In App Purchase abilitati automaticamente.
Dato che non sono riuscito ad abilitare Game Center nel tuo Target -> Capabilities, ho abilitato l'acquisto in app, quindi la mia app potrebbe essere firmata e caricata.
Quando abbiamo affrontato lo stesso problema, abbiamo provato tutte le cose sopra ma nessuna ha funzionato.
Ciò che ha funzionato per noi è stato modificare l'identificatore del bundle in modo che non fosse identico a quello precedente, ad esempio "com.name.App" in "com.name.App2"; lascia che xcode tenti di recuperare / creare il profilo di provisioning e poi riprovare a quello originale.
Ho avuto questa idea da questo thread sui forum degli sviluppatori di Apple: https://forums.developer.apple.com/thread/114539
Mi sono imbattuto in questa pagina di recente dopo aver provato a creare un target duplicato: nessuno dei suggerimenti funzionava per me. Ulteriori indagini e una certa quantità di tiri di capelli alla fine mi hanno portato a setacciare le impostazioni di costruzione della mia app per cercare di capire cosa c'era che non andava.
Si è scoperto che il mio progetto puntava ancora al file dei diritti del target ORIGINALE, invece di averne uno proprio. Per risolvere questo problema, sono passato al file dei diritti originale nel Finder (ad esempio $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements ), creato una copia all'interno della stessa cartella e poi l'ho rinominato (ad esempio NewTargetName.entitlements).
Quindi, ho aperto il mio nuovo file di diritti e ho modificato il campo dell'identificativo dell'applicazione in modo che corrisponda alla fine dell'identificatore del bundle del mio nuovo target (ad esempio ABCDEFGH.US.co.fake-company.superduperapp-newtargetname ).
Infine, ho aggiornato il campo "Code Signing Entitlements" nelle impostazioni di build al percorso del mio file di entitlements (per me, questo era qualcosa sulla falsariga di $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements ).
Sono tornato alla scheda Firma e funzionalità ed ecco, il problema è stato risolto. Spero che qualcuno là fuori lo trovi utile.
Vai alla scheda Informazioni di Xcode e cambia il campo dell'identificatore del pacchetto : dopo aver cambiato il nome dell'app, non è cambiato anche se ho cambiato l'identificatore del pacchetto nella scheda Generale. Le correzioni di cui sopra non hanno funzionato per me, ma questa ha funzionato immediatamente.
Ho avuto questo problema con un'app nuova di zecca, in Xcode 12 beta 3 (l' invio delle app è iniziato oggi ).
Xcode aveva "Gestisci automaticamente l'accesso". Tuttavia, l'ID squadra visualizzato nel "Certificato di firma" non corrispondeva all'ID squadra visualizzato nel sito Web iTunes Connect. Questa era la causa principale che impediva il caricamento dell'app.
Come l'ho risolto:
Ho riscontrato lo stesso problema durante la configurazione di una pipeline Gitlab che esegue exportArchive cmd e carica su AppStore. Sono stato in grado di farlo funzionare modificando DEVELOPMENT_TEAM nelle impostazioni di build con lo stesso team selezionato in Firma e certificati.
Perché in precedenza era impostato su vuoto che utilizzava per impostazione predefinita un altro ID DEV TEAM che non era corretto e non corrispondeva e si lamentava che "application-identifier" = 12331232.com.bannana.apples.peach non corrispondeva. Il che mi ha portato a impostare il DEV TEAM corretto e ha funzionato.
Xcode ver: versione 11.3.1
Spero che questo aiuti qualcuno.
Target multipli:
... e usa iCloud.
L'attivazione e la disattivazione di iCloud non era un'opzione per noi. Lo usiamo già in produzione e piuttosto non scherzarci ... Ho ricevuto il messaggio della domanda originale e anche questa variazione ad un certo punto:
Il profilo non corrisponde ai valori del file dei diritti per i diritti identificatore dell'applicazione e gruppi di accesso portachiavi.
Suggerito da altre risposte qui, ci siamo assicurati che tutti i target avessero un .entitlementsfile. Se l'obiettivo non ne aveva, ne abbiamo creato uno vuoto in questo modo:
<?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/>
</plist>
... e ha puntato la sua destinazione Code Signing Entitlementnel file Build Settingsvuoto .entitlements.
Risolto!
Elimina tutti i profili che si trovano in ~/Library/MobileDevice/Provisioning Profiles/
entitlements.plistfile.