2009-01-17 96 views
8

我正在为iPhone开发一个应用程序,但我想这个问题在Mac上是一样的。 您的应用程序在通过其URL方案启动后调试应用程序状态的方法是什么?如何开始使用自定义URL方案来调试应用程序?

+0

尤其是我说的是到达断点的AppDelegates内 - (BOOL)申请:(UIApplication的*)应用handleOpenURL :(NSURL *)url 方法? – stigi 2009-01-17 22:26:01

回答

21

有调试时,它从外部URL启动应用程序的方式:

  1. 设置一个断点,你想让它在application:handleOpenURL:application:didFinishLaunchingWithOptions:
  2. 在Xcode中,编辑主动可执行文件的设置。在调试选项卡上,选择“等待下一次启动/推送通知”复选框。
  3. 构建和调试。控制台会给你一条警告,提示“正在等待[AppName]启动...调试器将在下次启动时附加到[AppName]。”
  4. 通过调用自定义URL或向其发送推送通知来打开您的应用程序。调试器将停止在您的断点处。
+0

谢谢,在一个月前找到了自己的答案,但忘了发布在这里。回答,检查! – stigi 2010-04-26 10:16:32

2

实际上,我认为在Mac上会比在iPhone上完全不同,因为您可以在Mac上打开应用程序并调用URL方案,而在iPhone上,您需要退出应用程序以打开另一个应用程序调用URL方案。

你可以尝试的是添加一个调试按钮到你的用户界面,它允许你从正在运行的应用程序内调用URL方案(调用-openURL:在NSWorkspace上)。无论您的应用在URL模式发送时是打开还是关闭,这在理论上都应该是一样的。

+0

谢谢,我也认为多数民众赞成的方式去.. – stigi 2009-01-18 18:24:12

2

我在Xcode 8.2.1上,最快的方法是简单地转到产品 - >编辑方案,然后选择“等待可执行文件启动”,如下图所示。开始调试时,它不会启动应用程序,而是“等待”APP“启动..”。当一个动作(点击推送通知),断点会踢

enter image description here