web-dev-qa-db-fra.com

iOS: comment déboguer un "lancement récent" d'une application à partir d'une URL

Lors du lancement d'une application à partir d'une URL, il existe une distinction entre le lancement récent d'une application par l'URL ou la reprise d'une application mise en veille.

Ma question est, comment puis-je déboguer le processus d'un "nouveau lancement" de une URL? Appuyez sur "Exécuter" dans Xcode ouvre automatiquement l'application. Ensuite, je dois suspendre l'application pour accéder à Safari et accéder à mon site de test. Mais si je ferme mon application suspendue, Xcode n'y est plus attaché et je ne parviens pas à déboguer.

58
Chicowitz

Ces étapes peuvent être suivies sur l'appareil. Fondé à ce lien .

  1. Exécutez l'application à partir de Xcode pour l'installer sur votre appareil, puis arrêtez-la à partir de Xcode.
  2. Forcez la fermeture de l'application à partir de l'interface utilisateur du commutateur d'applications sur l'appareil.
  3. Accédez au schéma du projet dans Xcode. Sous l'onglet Info de la section Exécuter, il y a un bouton radio pour "Attendre que l'exécutable soit lancé". Assurez-vous que cette case est cochée au lieu de l'option "Automatiquement".
  4. Exécutez l'application à partir de Xcode. Il ne s'ouvrira pas sur l'appareil, mais le débogueur attendra qu'il s'ouvre, puis il s'y connectera.

Sur le simulateur comme suggéré par Marc-Alexandre Bérubé.

  1. Exécutez votre application sur l'émulateur.
  2. Forcer à quitter l'application sur le simulateur. Appuyez sur cmd+shift+(hit h twice). Glissez l'application vers le haut.
  3. Ouvrez votre terminal et entrez ce xcrun simctl openurl booted http://yourdomain/path.
78
Lian van der Vyver

Vous devez configurer votre schéma d'application Xcode pour attendre le lancement manuel de l'application. Voici comment vous le faites: http://blogmobile.itude.com/2013/09/03/how-to-debug-deep-linking-in-ios/ .

Vous devez ensuite copier l'URL de lancement et la coller dans Mobile Safari. Cela lancera votre application et fera en sorte que Xcode soit attaché au processus d'application en cours.

31
arielyz