从网址启动应用时,网址是刚刚启动某个应用,还是已恢复已暂停状态的应用有区别。
我的问题是,如何从 URL调试“全新启动”的过程?点击Xcode中的“运行”会自动打开应用程序。然后,我必须暂停应用程序才能访问Safari并访问我的测试站点。但如果我关闭我暂停的应用程序,Xcode就不再附加到它上面了,我无法调试。
答案 0 :(得分:71)
可以在设备上执行这些步骤。成立于此link。
在Marc-AlexandreBérubé建议的模拟器上。
cmd+shift+(hit h twice)
。滑动应用程序。xcrun simctl openurl booted http://yourdomain/path
。答案 1 :(得分:31)
您需要配置Xcode应用方案以等待手动启动应用。 您的工作方式如下:http://blogmobile.itude.com/2013/09/03/how-to-debug-deep-linking-in-ios/。
然后,您需要复制启动网址并将其粘贴到Mobile Safari。这将启动您的应用程序,并使Xcode附加到正在运行的应用程序进程。
答案 2 :(得分:4)
尽管从理论上讲,激活“等待可执行文件启动”的答案是好的,但是由于各种原因,这些答案对我不起作用。在模拟器上,尽管Xcode声称已“附加”,但从未显示任何日志或断点。在设备上,我运行的是iOS 13,它是从Xcode 10构建的,并使用Xcode 11进行加载,因此我没有任何调试符号。我怀疑这更多是个人问题,我怀疑在设备调试上可能有用。
最适合我的就是在Mac上打开 Console.app ,然后使用OSLog
API从模拟器中获取可靠的穴居调试信息。
虽然不漂亮,但是非常可靠。
还值得一提的是,您可以通过XCUITest测试冷启动深度链接来保护此有用的功能。您可以在XCUITests中调用app.terminate
,然后打开一个深层链接(通常通过您已设置的静态网页,为此我使用公共GitHub Wiki),并像正常情况下编写测试和断言行为。