Impossibile avviare la mia app in Instruments: almeno un target non è stato avviato


98

Ho impostato correttamente tutti i miei diritti di firma del codice. Eseguire l'app sul telefono va bene, ma avviarla negli strumenti mi dà un messaggio di errore:

Error Starting Recording
At least one target failed to launch; aborting run

E poi:

Target failed to run. Permisson to debug [app name] was denied. The app must be signed with a development identity (i.e. iOS Developer)

Qualche idea su come evitare che ciò accada? Non succede sul mio iPad.

Risposte:


217

Modifica lo schema per la tua destinazione e in "Profilo [nome app]" imposta la configurazione della build su Debug (di solito è Release per impostazione predefinita).


6
+1, grazie, questo mi ha aiutato. Aggiungerei che ho dovuto creare il progetto dopo aver impostato la configurazione su Debug o gli strumenti non avrebbero ancora giocato.
Robert

4
Anche se so che questa "modifica della configurazione in Debug" è sbagliata, non ho un rimedio per questo problema. In generale, è molto meno utile / comune profilare una build di debug.
user501138

1
Questo perché il rilascio utilizza spesso il certificato di produzione.
Evgeny Aleksandrov

Mi sono assicurato che lo schema del profilo utilizzi la configurazione di debug (profilo sviluppatore) e continuo a riscontrare questo problema. Questo è un certificato per sviluppatore aziendale, anche se non mi aspetto che sia significativo. qualche idea?
Brody Robertson

3
Sto riscontrando lo stesso problema. Il profiling della tua app con la configurazione di debug non è un test delle prestazioni valido in quanto il compilatore non ha ottimizzato il codice come fa per Adhoc. Qualcuno ha capito il problema dell'AdHoc?
Fergal Rooney

34

Sta dicendo che devi firmare l'app con un certificato per sviluppatore (non un certificato di distribuzione ).

In Xcode 5 cambia semplicemente il "Provisioning Profile"campo per la tua "Release"build nelle Impostazioni build sul tuo certificato sviluppatore invece che sul tuo certificato di distribuzione. Comunque per tutta la durata del test. Xcode non ti consente di creare con un certificato di distribuzione.

Assicurati che le impostazioni di compilazione del progetto non sovrascrivano le impostazioni di compilazione di destinazione o apporti la modifica nelle impostazioni di compilazione del progetto .

Non dimenticare di reimpostare il profilo dopo aver terminato il test.

Non consiglio il metodo di harrywynn, poiché è meglio profilare la build di rilascio perché in questo caso si tiene conto delle ottimizzazioni del compilatore e si ha l'esperienza esatta che faranno i propri utenti.


1
Innanzitutto, ha bisogno di un profilo di sviluppo, quindi significa che deve essere in modalità debug. In secondo luogo, a meno che Apple non lo cambi in un profilo di distribuzione, gli sviluppatori probabilmente andranno con build di sviluppo. Terzo, stai profilando, dovrebbe essere una build di sviluppo (debug). In quarto luogo, perché dovresti usare un profilo di sviluppo per uno schema di rilascio?
Angelo

4
"Innanzitutto, ha bisogno di un profilo di sviluppo, quindi significa che deve essere in modalità debug." Puoi eseguire qualsiasi configurazione con qualsiasi profilo. "Terzo, stai profilando, dovrebbe essere una build di sviluppo (debug)" Dovresti profilare con la build di rilascio per prendere in considerazione le ottimizzazioni del compilatore. Potresti ottenere risultati diversi. "Quarto, perché dovresti usare un profilo di sviluppo per uno schema di rilascio?" Perché è la soluzione più semplice a questo problema. E dovresti cambiare il profilo di nuovo quando sei pronto per il test, come ho scritto nella mia risposta.
Zoltán Matók

9

Da aggiungere alle risposte precedenti.

  • Instruments si lamenta dell'identità della firma .
  • Credo sia preferibile profilare in modalità release, per gli stessi motivi addotti da Zolten. (prendi in considerazione le ottimizzazioni del compilatore e ottieni l'esperienza esatta che faranno i tuoi utenti, ecc ...)
  • Per modificare l'identità di firma del codice per Xcode 6 :
    • Fai clic sul tuo progetto, seleziona il target che stai profilando.
    • Impostazioni build -> Code Signing -> Code Signing Identity -> Release
    • Seleziona il tuo profilo sviluppatore iOS.
  • Profilo di provisioning: lascia che Xcode scelga il profilo di provisioning corretto per te, ad esempio: passa ad Automatico
  • Quando hai finito con il profilo, torna alle impostazioni normali .

Ecco una foto per coloro che sono molto visivi;)

inserisci qui la descrizione dell'immagine


1

Ho riscontrato lo stesso problema: [INST STDERR] Errore di traccia degli strumenti: Impossibile eseguire la destinazione: l'autorizzazione al debug è stata negata. L'app deve essere firmata con un'identità di sviluppo (ad esempio iOS Developer).

Soluzione: 1. Ho archiviato l'app con Debug Developer Profile in xcode per dispositivo. 2. Vai a Finestra -> Organizer -> per vedere tutto l'elenco degli archivi 3. Ora seleziona l'archivio da esportare e aprilo nel Finder 4. Fai clic con il tasto destro e mostra il contenuto del pacchetto 5. Vai alla cartella Prodotti / Applicazioni Vedrai il file .app.

Usa questo al posto dell'ipa.

Assicurati che il dispositivo sia già stato aggiunto al portale per sviluppatori e che tutti i certificati siano installati su di esso affinché i passaggi precedenti funzionino.

Una volta che questo è a posto. Inoltre, assicurati di ottenere ios-webkit-debug-proxy dal link sottostante:

https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/ios-webkit-debug-proxy.md

Inoltre, abilita gli strumenti per sviluppatori nelle impostazioni del dispositivo. Inoltre, assicurati che Safari webinspector (safari -> Develop) -> Inspector sia su Hope it help :-)

NOTA: se desideri che appium installi l'app sul dispositivo per te, non fornire l'ID bundle.


Il file dell'app si trova in Prodotti -> Applicazioni sotto Contenuto della confezione
swathy valluri

0

Sono riuscito a risolvere questo problema sulla mia macchina in questo modo:

  • Genera un nuovo profilo di provisioning dello sviluppatore con il tuo dispositivo nell'elenco o almeno assicurati che la tua macchina sia nell'elenco del dispositivo del profilo.
  • In Impostazioni progetto -> Firma codice -> Profilo di fornitura -> Debug: imposta il profilo appena creato.
  • Nelle impostazioni di Targets -> Code Signing -> Provisioning Profile -> Debug AND Release: imposta il profilo appena creato.

Spero che aiuti.


0

Ho capito cosa significa "Almeno un bersaglio non è riuscito a lanciare". Sembra che sia lo schema di sviluppo che quello di rilascio (se si dispone di uno schema di debug e di uno schema di rilascio) debbano avere un'identità di sviluppo.

Avevo selezionato lo schema di debug durante l'esecuzione del profiler e il messaggio nella parte superiore di XCode diceva "Running debug". Tuttavia, sembra che questo non sia sufficiente.

Ho modificato l'identità di firma del codice dello schema di rilascio in modo che corrispondesse allo schema di debug (e anche al profilo di provisioning) e il problema è scomparso.


0

funziona .. quando ho cambiato lo schema del mio profilo in modalità di debug e mi sono anche assicurato che build configs contenga un certificato di sviluppatore. Grazie


0

Nessuna delle altre soluzioni qui ha risolto il mio problema, ma ho stabilito che era solo un problema per me sul simulatore. Il dispositivo funziona bene. Forse c'è un problema con il simulatore.


0

Ho riscontrato questo problema con Xcode 9.1 sia per i simulatori che per i dispositivi e il mio schema di esecuzione era già impostato come profilazione con "Debug". Finalmente ho trovato molto utile questa discussione sul forum Apple e ho risolto il problema. In breve, la soluzione che ha funzionato per me è ... Riavvia il Mac.

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.