我目前正在开发一款接收推送通知的应用。我通过PHP页面100%全部工作。我的应用可以接收几种不同类型的推送通知。 PHP处理这个并向我的应用程序发送不同的信息包,这些信息都被收到了。
但是,当用户“查看”通知并启动我的应用时,我显然想采取与用户手动启动应用时不同的操作 - 最重要的是,根据推送的不同操作通知类型。我在结构上做得很好......
我的推送类型之一应该打开一个UIView,它与几个不同的服务器建立多个连接并来回协商数据。例如,当从主菜单触发时,此UIView工作正常 - 但是当我的推送通知触发此UIView出现时,套接字连接未按预期运行。
现在我的问题不是关于套接字,而是更多 - 如何调试这样的问题?从我所知道的(我相对较新)当应用程序从推送通知启动时,没有办法将该执行链接到调试器/控制台/等...我正在尝试使用调试代码进行调试时非常困难UIAlertViews,因为在各种服务器之间来回通信很多。
非常感谢您对我的任何建议。
答案 0 :(得分:143)
在XCode< 4.0(对于XCode> = 4,请参阅下面的delirus答案),您现在可以配置Xcode以在启动后将调试器附加到应用程序,而不是通过调试器启动应用程序。这使您可以调试根据应用程序的启动状态而变化的内容,例如URL方案,粘贴板和推送通知。
现在,当您从Xcode单击调试而不是启动应用程序时,将显示一个窗口,告知它正在等待应用程序启动。然后,您可以在手机上正常启动应用程序,Xcode会附加到该应用程序
答案 1 :(得分:120)
对于Xcode 4,您必须:
答案 2 :(得分:106)
对于XCode 10,9,8,7& 6:强>
现在,您可以在从通知,自定义网址或触摸应用图标启动时进行调试。
答案 3 :(得分:3)
我不使用推送通知,所以我不知道推送通知的确切工作。但是,我尝试通过让程序的主方法假装在可能的情况下发布通知,或者在applicationDidFinishLaunching:方法中调用应用程序:didFinishLaunchingWithOptions:UIApplicationDelegate方法来模仿接收推送通知。
HTH - 干杯,大安答案 4 :(得分:3)
在Xcode 6中:
Debug
> Attach to Process
>选择你的应用答案 5 :(得分:1)
对于XCode 11和10,您可以执行以下操作:
选择编辑方案。
从左侧面板中选择“运行”选项
在启动部分中,选择等待可执行文件启动,然后关闭对话框。
构建并运行项目。现在,您可以通过点击应用程序图标或点击通知消息来启动该应用程序。