Xcode 11.2 - Impossibile installare il file dell'app sul dispositivo?


29

Di recente ho aggiornato il mio sistema operativo in Catalina e aggiornato Xcode a 11.2. Da quel momento, quando provo a eseguire una versione di rilascio della mia app sul mio dispositivo, viene semplicemente visualizzato l'errore:

Impossibile installare l'app.

Quando tocco 'dettagli', mi fornisce quanto segue:

Installazione dell'app non riuscita Dominio: com.apple.dtdevicekit Codice: -402620395 Motivo dell'errore: non è stato trovato un profilo di provisioning valido per questo eseguibile.

Informazioni utente: {DVTRadarComponentKey = 487927; "com.apple.dtdevicekit.stacktrace" = (0 DTDeviceKitBase 0x000000011baff6e7 DTDKCreateNSError + 109 1 DTDeviceKitBase
0x000000011baffde9 DTDK_AMDErrorToNSError + 792 2 DTDeviceKitBase
0x000000011bb3f56a 90- [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: andError: withCallback:] _ block_invoke + 164 3 DVTFoundation 0x000000010356f156 DVTInvokeWithStrongOwnership + 73 4 DTDeviceKitBase
0x000000011bb3f301 - [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: andError: withCallback:] + 1.589 5 IDEiOSSupportCore 0x000000011b9c7a25 __118- [DVTiOSDevice (DVTiPhoneApplicationInstallation) processAppInstallSet: appUninstallSet: InstallOptions: completionBlock:] _ block_invoke.352 + 4523 6 DVTFoundation 0x00000001036a03ba __DVT_CALLING_CLIENT_BLOCK
+ 7 7 DVTFoundation 0x00000001036a1a92 __DVTDispatchAsync_block_invoke + 809 8
libdispatch.dylib 0x00007fff68220583 _dispatch_call_block_and_release + 12 9 libdispatch.dylib 0x00007fff6822150e _dispatch_client_callout + 8 10 libdispatch.dylib 0x00007fff68226ace _dispatch_lane_serial_drain + 597 11 libdispatch.dylib 0x00007fff68227452 _dispatch_lane_invoke + 363 12 libdispatch.dylib 0x00007fff68230a9e _dispatch_workloop_worker_thread + 598 13 libsystem_pthread.dylib 0x00007fff6847a71b _pthread_wqthread + 290 14 libsystem_pthread. dylib 0x00007fff6847a57b start_wqthread + 15); }

I miei profili di provisioning sono corretti al 100%, così come i miei certificati. Non ho idea del perché stia succedendo e ho provato assolutamente di tutto per farlo installare / eseguire. Ho provato:

  • Controlla attentamente che la versione di "Schema" sia stata controllata nella scheda "Esegui"
  • Confermato che è stato selezionato il profilo di provisioning corretto
  • Rimozione dell'app dal mio dispositivo
  • Creazione di nuovi profili di provisioning
  • Modifica del mio ID pacchetto
  • Creazione di nuovi certificati
  • Pulizia della cartella di build, riavvio di Xcode
  • Reinstallazione di Xcode
  • Eliminazione della cartella dei dati derivati

NESSUNO di quanto sopra ha funzionato. Sono qui da 2 giorni - l'aiuto è apprezzato. L'unico modo per installare correttamente il file dell'app sul mio dispositivo è caricarlo prima su TestFlight (cosa che non posso fare ogni volta che voglio testare una piccola modifica).


Sei stato in grado di verificarlo con un secondo dispositivo?
CodeBender

Sì, ho provato a installare l'app su 2 dispositivi diversi, lo stesso errore ogni volta. @CodeBender
Brittany

1
Hai detto che hai aggiornato di recente alla 11.2, è la prima volta che hai creato con Xcode 11.x? Per i profili di distribuzione nel sito degli sviluppatori di Apple, esiste una nuova opzione specifica per Xcode 11 e la stai usando?
CodeBender

1
Anche in File> Impostazioni area di lavoro in "Sistema di costruzione", cosa hai selezionato?
shim

1
Mi sta facendo impazzire !!! Ho ancora questo problema e nessuna delle soluzioni qui risolte. Ci sono altre idee?
Georg,

Risposte:


19

Vai a File -> Impostazioni dell'area di lavoro e assicurati che il tuo sistema di compilazione sia impostato su Legacy Build System.

Ho riscontrato lo stesso problema su Catalina e Xcode 11.2 e questo mi ha risolto.

A partire da Xcode 11, Apple sta iniziando ad applicare alcuni dei criteri di compilazione precedentemente richiesti solo per AppStore basati sull'estrazione .ipa e sui dispositivi.

Finora ho incontrato:

  • Richiede l'impostazione del sistema di build precedente per le distribuzioni di dispositivi per progetti o progetti precedenti che utilizzano framework più vecchi
  • Rimozione di architetture inutilizzate per estrarre un ipa da un archivio

Probabilmente lo stesso problema: vedere un errore leggermente diverso, ma nessuna soluzione qui l'ha risolto. L'eseguibile è stato firmato con diritti non validi. Dominio: com.apple.dtdevicekit Codice: -402620394 Causa dell'errore: i diritti specificati nel file dei diritti di firma del codice dell'applicazione non sono validi, non sono consentiti o non corrispondono a quelli specificati nel profilo di provisioning. (0xE8008016).
Drewster,

2
@drewster Ho avuto anche lo stesso errore ed era correlato a architetture inutilizzate nella build. A volte i framework specificano architetture x86 al di sopra e al di sopra delle architetture del braccio. L'esecuzione dello script specificato in questo articolo SO ha risolto il problema per me.
Lean van Heerden,

2
Il passaggio a Legacy Build System non ha funzionato purtroppo per me: /
Brittany

1
Ho passato ore su questo. Ho aggiunto un progetto nell'area di lavoro che ha generato un framework che ho creato come destinazione. Ho quindi incorporato / collegato il progetto principale nell'area di lavoro a quel progetto quadro. Utilizzando il nuovo sistema di build in 11.2.1 GM, l'esportazione IN HOUSE mostrerebbe quindi "Impossibile installare ..." su un dispositivo supervisionato. Leggendo questo post, sono passato a Legacy Build System. Quello che ha fatto è mostrare ERRORI !!! dicendomi che lipo non ha potuto eliminare l'architettura sbagliata durante l'archiviazione. Quindi ha puntato nella giusta direzione e ho quindi corretto il framework che non veniva costruito correttamente. GRAZIE LEGAZY!
zumzum,

Nel mio caso il passaggio all'eredità non ha risolto questo problema. Era dovuto a una modifica del profilo di provisioning. Ho finito per eliminare l'app dal dispositivo e quindi l'installazione è andata a buon fine.
Konstantinos,

8

Ecco cosa funziona per me:

  1. Rimuovi l'app e il profilo dal dispositivo
  2. Reinstallali di nuovo.

Soluzione classica :)
Arthur Shkil,

Di fronte a questo problema più volte con Xcode 11.3, questa è la soluzione più veloce e semplice.
Kientux,

5

Usa Gestisci automaticamente la firma

Risolvi questo problema.

firma automatica controllata


5

Per me, è dovuto a Dynamic Frameworks che ho aggiunto nell'applicazione. Inizialmente, ho selezionato l'opzione (Incorpora + Non firmare) per i framework dinamici.

Modificandolo in (Incorpora e firma) per tali framework ho risolto il problema per me.

inserisci qui la descrizione dell'immagine


Appena aggiunto il framework esterno con "Incorpora senza segno", ha avuto lo stesso problema. Modificato in Incorpora e firma - ben fatto!
malex,

3

Riesco a risolvere questo problema la prima volta che pulisco:

cmd + k
shift + cmd + k

e quindi elimino tutto il contenuto di Deriving Data il percorso della cartella dovrebbe essere così

/Users/youruser/Library/Developer/Xcode/DerivedData

Oppure puoi registrarlo

Xcode -> Preferences -> Locations

0

Ho avuto lo stesso problema fino a quando non ho trovato questa soluzione . Ho dovuto cancellare tutti i miei vecchi certificati e profili di provisioning e quindi creare nuovi certificati con "Sviluppo Apple" e "Distribuzione Apple", anziché l'opzione "iOS ...".


0

Ho lo stesso problema e il problema era che stavo usando un account non pagato e il numero totale di profili di sviluppo gratuiti è stato raggiunto, quindi è necessario utilizzare un account a pagamento

dettagli:

Motivo dell'errore: è stato raggiunto il numero massimo di app per profili di sviluppo gratuiti


Ho avuto lo stesso problema. Ho letto i dettagli e realizzato dopo
candyline il

0

Ho avuto questo errore durante l'esecuzione di un progetto che aveva una libreria sotto la Embed Frameworksquale era Code Sign on Copydeselezionata. Il segno di spunta su questo ha risolto il problema per me.


0

"-402620395 Motivo dell'errore: non è stato trovato un profilo di provisioning valido per questo eseguibile."

Ho avuto anche questo problema e l'ho risolto:

Ciò significa che il tuo profilo di provisioning non è impostato sullo sviluppo. È necessario creare un nuovo profilo di provisioning per lo sviluppo, che è diverso da un set di profili per la distribuzione. Quindi, nelle firme e nelle funzionalità, nelle impostazioni dell'app su xcode, scegli il tuo profilo di sviluppo se desideri installare sul tuo dispositivo. Non preoccuparti di distribuire con il tuo profilo di sviluppo, devi scegliere quale profilo vuoi usare quando vai su App Store (è impostato su nessuno e devi cambiarlo).

Un'altra soluzione sarebbe quella di scegliere di gestire automaticamente le impostazioni di accesso, ma che ha impostazioni predefinite impostate quando si spinge su App Store che non si desidera.


-1

Xcode 11.2 è deprecato da Apple il 5 novembre 2019

Anche se puoi installarlo sul tuo dispositivo, non puoi passare AppStore: vedi qui per i registri

Scarica l'ultimo file xip valido per la versione di AppStore .

Anteprima

Xcode 11.2 ha riscontrato alcuni problemi e arresta in modo anomalo i dispositivi iOS meno recenti e non si installa su dispositivi iOS più recenti. Quindi per ora puoi:

Quindi la soluzione è:

  1. Aggiorna macOS alla 10.15.1
  2. Installa il seme Xcode 11.2.1 GM
  3. Compilare e installare l'app sul dispositivo aggiornato (13.2.2 è ora disponibile)

Scaricando subito Xcode 11.2.1 GM seed ... Vi farò sapere se risolvete il problema. Sono contento di non essere solo io - sto iniziando a sentire che sto prendendo pillole pazze usando Xcode 11.2.
Bretagna,

2
Basato sul post SO collegato, l'arresto anomalo è rilevante per i dispositivi pre-iOS 13 che hanno un UITextView. Non c'è nulla in merito ai problemi di installazione "su dispositivi iOS più recenti"
shim

Quel post contiene molti link poiché Apple produce caos. @shim ma ora apple accetta il problema e depreca completamente Xcode 11.2 e lo ha rimosso dall'AppStore.
Mojtaba Hosseini

3
Questa risposta non è rilevante per il problema, ho testato la distribuzione dell'app utilizzando Xcode 11.2.1 e il problema persiste. L'unico modo in cui ho potuto distribuire l'app su un dispositivo con Xcode 11.2.1 era impostare "File -> Impostazioni area di lavoro-> Sistema build" su "Sistema build precedente"
Lean van Heerden

Quindi @Brittany qual è stato il risultato? Ha funzionato?
Mojtaba Hosseini,

-1

Questo problema è legato solo alla firma del codice

Ma il punto chiave da notare qui è, se si utilizza la versione XCode 11.x. Non solo la firma del codice nel tuo progetto, ma dovremmo controllare la firma del codice negli SDK di terze parti o le dipendenze che aggiungiamo al nostro progetto.

Passaggi per verificare la firma del codice di SDks di terze parti:

  1. Scarica il codice sorgente del framework di cui hai bisogno
  2. Apri il file .xcproj dal codice sorgente usando XCode 11.x
  3. Vai a Target -> Firma e funzionalità -> Seleziona tutta la scheda -> Identificatore bundle Se vedi irregolarità nell'identificatore come, identificatore con 4 separatori (ad esempio: com.company.mac.app)

    Modificalo in com. * E inserisci.

  4. Assicurati che il tuo XCODE COMMAND LINE TOOLS sia impostato con XCode 11.x

  5. Ora, usa il comando seguente per ricostruire l'SDK, con le modifiche apportate nel passaggio 3 precedente

      carthage build --no-skip-current --cache-builds --platform iOS
  6. Ora copia il framework generato dalla cartella carthage del codice sorgente e sostituisci l'SDK esistente nel tuo progetto.

Ripeti lo stesso per il processo per tutti gli SDK di terze parti, nel tuo progetto.

NOTA: assicuratevi di marcato tutti i 3rd SDK partito come Embed & Sign in

Targets => General => Frameworks, Libraries, and Embedded Content

-1

Ciò potrebbe essere dovuto all'esecuzione dello schema di distribuzione / rilascio. Cambiare lo schema in debug funziona per me. Spero che questo aiuti qualcuno.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


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.