Cocoa 如果应用程序开始使用自定义URL方案,您如何调试应用程序?

Cocoa 如果应用程序开始使用自定义URL方案,您如何调试应用程序?,cocoa,cocoa-touch,xcode,Cocoa,Cocoa Touch,Xcode,我正在为iPhone开发一个应用程序,但我想Mac上的问题也是一样的。 在应用程序通过URL方案启动后,您如何调试应用程序的状态?事实上,我认为在Mac上调试应用程序与在iPhone上调试应用程序完全不同,因为您可以在Mac上打开应用程序并调用URL方案,而在iPhone上,您需要退出应用程序以打开另一个应用程序来调用URL方案 您可以尝试向UI添加一个调试按钮,该按钮允许您从正在运行的应用程序内部调用URL方案(在NSWorkspace上调用-openURL:on)。在发送URL方案时,无论您

我正在为iPhone开发一个应用程序,但我想Mac上的问题也是一样的。
在应用程序通过URL方案启动后,您如何调试应用程序的状态?

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


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

从外部URL启动应用程序时,有一种方法可以调试应用程序:

  • 应用程序:handleAppEnUrl:
    应用程序:didFinishLaunchingWithOptions:
  • 在Xcode中,编辑活动可执行文件的设置。在调试选项卡上,选中“等待下一次启动/推送通知”复选框
  • 构建和调试。控制台将向您发出警报,提示“正在等待[AppName]启动…调试器将在下次启动[AppName]时附加到它。”
  • 通过调用自定义URL或向其发送推送通知来打开应用程序。调试器将在断点处停止

  • 我使用的是Xcode 8.2.1,最快的方法是进入产品->编辑方案并选择“等待可执行文件启动”,如下图所示。调试启动时,它不会启动应用程序,而是“等待”应用程序“启动…”。当执行一个操作(单击推送通知)时,断点将启动


    特别是我说的是在AppDelegates-(BOOL)应用程序:(UIApplication*)应用程序handleOpenURL:(NSURL*)url方法中到达断点?谢谢,几个月前我自己找到了答案,但忘了在这里发布。回答,检查!此解决方案适用于Xcode 3.x。对于Xcode 4.x,请参见: