iOS: How to debug "freshly launching" an app from a URL

Chicowitz picture Chicowitz · Aug 29, 2013 · Viewed 16.9k times · Source

When launching an app from a URL, there is a distinction between whether the URL is freshly launching an app, or if it's resuming an app that has been put into a suspended state.

My question is, how do I debug the process of a "fresh launch" from a URL? Hitting "Run" in Xcode automatically opens the app. Then, I have to suspend the app to reach Safari and access my test site. But if I close my suspended app, Xcode is no longer attached to it and I'm unable to debug.

Answer

Lian van der Vyver picture Lian van der Vyver · Oct 14, 2016

These steps can be followed on the device. Founded at this link.

  1. Run the app from Xcode to install it on your device and then stop it from Xcode.
  2. Force quit the app from the app switcher UI on the device.
  3. Navigate to the scheme for the project in Xcode. Under the Run section's Info tab, there is a radio button for "Wait for executable to be launched". Make sure this is checked instead of the "Automatically" option.
  4. Run the app from Xcode. It will not open on the device, but the debugger will wait for it to open and then it will attach to it.

On the simulator as suggested by Marc-Alexandre Bérubé.

  1. Run your app on the simulator.
  2. Force quit the app on the simulator. Press cmd+shift+(hit h twice). Swipe the app up.
  3. Open your terminal and enter this xcrun simctl openurl booted http://yourdomain/path.