2013-08-29 6 views
45

Quando si avvia un'app da un URL, c'è una distinzione tra il fatto che l'URL stia appena lanciando un'app o se riprende un'app che è stata messa in uno stato sospeso.iOS: Come eseguire il debug di "avvio di un'applicazione" da un URL

La mia domanda è, come faccio a eseguire il debug del processo di un "nuovo avvio" da un URL? Premendo "Esegui" in Xcode si apre automaticamente l'app. Quindi, devo sospendere l'app per raggiungere Safari e accedere al mio sito di test. Ma se chiudo la mia app sospesa, Xcode non è più collegato ad esso e non riesco a eseguire il debug.

risposta

47

Questi passaggi possono essere seguiti sul dispositivo. Fondato in questo link.

  1. Eseguire l'applicazione da Xcode per installarlo sul dispositivo e quindi interromperlo da Xcode a .
  2. Arrestare l'app dall'interfaccia utente del commutatore dell'app sul dispositivo.
  3. Passare allo schema per il progetto in Xcode. Sotto la scheda Info della sezione della sezione, c'è un pulsante di opzione per "Attendere l'esecuzione del file eseguibile ". Assicurati che sia selezionato al posto dell'opzione "Automaticamente" .
  4. Eseguire l'app da Xcode. Non aprirà sul dispositivo, ma il debugger attenderà che si apra e quindi si collegherà ad esso .

Sul simulatore come suggerito da Marc-Alexandre Bérubé.

  1. Esegui la tua app sull'emulatore.
  2. Forza per uscire dall'app sul simulatore. Premere cmd+shift+(hit h twice). Scorri verso l'alto l'app.
  3. Aprire il terminale e immettere questo xcrun simctl openurl booted http://yourdomain/path.
+3

Per semplificare i test utilizzando il simulatore iOS, possiamo quindi utilizzare il terminale e incollare il comando 'xcrun simctl openurl avviato http: // yourdomain/path' per avviare l'app con il URL che vogliamo. –

+1

Ma Xcode non si collegherà immediatamente quando avvierò l'app in questo modo: cosa fare quando voglio che si fermi in un punto di interruzione nel codice di analisi/instradamento url? – fabb

+0

@fabb Se segui correttamente i passaggi dovrebbe colpire il punto di interruzione nell'analisi dell'URL. –

31

È necessario configurare lo schema dell'app Xcode per attendere che l'app venga avviata manualmente. Ecco come lo si fa: http://blogmobile.itude.com/2013/09/03/how-to-debug-deep-linking-in-ios/.

Quindi è necessario copiare l'URL di avvio e incollarlo su Mobile Safari. Questo avvierà la tua app e renderà Xcode collegato alla procedura dell'app in esecuzione.

+0

Se esegui il debug sul simulatore, ecco un suggerimento: Yu può anche modificare l'URL di una web clip salvata. Sono solo elenchi in ~/Libreria/Application Support/iPhone Simulator/7.1-64/Library/WebClip. (Regola che 7.1-64 secondo necessità.) –

+0

Grazie! Mi hai salvato la giornata! –

+0

Suggerimento: ho trovato le mie WebClip in ~/Library/Developer/CoreSimulator/Devices/{GUID}/data/Library/WebClip. (Xcode 7.1.1/Simulator 9.1) –