我目前正在开发一个接收推送通知的应用程序。我通过 PHP 页面使这一切 100% 正常工作。我的应用程序可以接收多种不同类型的推送通知。 PHP 处理这个问题并向我的应用程序发送不同的信息包,这些信息包都被很好地接收。
但是,当用户“查看”通知并且我的应用程序启动时,我显然想要采取与用户刚刚手动启动应用程序不同的操作 - 最重要的是,根据推送通知类型采取不同的操作。我已经让这个工作正常......结构上。
我的推送类型之一应该打开一个 UIView,它与多个不同的服务器建立多个连接并来回协商数据。例如,当从主菜单触发时,此 UIView 工作正常 - 但是,当我的推送通知触发此 UIView 出现时,套接字连接未按预期运行。
现在我的问题不是关于套接字,而是关于 - 如何调试这样的问题?据我所知(我相对较新),当应用程序从推送通知启动时,无法将该执行链接到调试器/控制台/等...我在尝试使用调试代码时遇到了非常困难的时间UIAlertViews,因为各个服务器之间有许多来回通信线路。
如果您对我有任何建议,我将不胜感激。
在 Xcode = 4,请参阅下面 delirus 的回答),您现在可以配置 Xcode 在启动应用程序后将调试器附加到应用程序,而不是通过调试器启动应用程序。这使您可以调试根据应用程序的启动状态而变化的内容,例如 URL 方案、粘贴板和推送通知。
- 在 Xcode 中,查看“源”栏,在“目标”下方将有“可执行文件”。
- 在可执行文件中调出应用程序的检查器。
- 单击检查器中的“调试”选项卡。
- 取消选中“启动调试器后启动可执行文件”
- 勾选“等待下一次启动/推送通知”
现在,当您从 Xcode 单击“调试”而不是启动应用程序时,将显示一个窗口,告诉它正在等待应用程序启动。然后,您可以在手机上正常启动该应用程序,并且 Xcode 会附加到该应用程序上
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)