首页 > iOS APNS 如何调试

iOS APNS 如何调试

iOS的APNS推送如何测试?
我现在是后台杀掉应用,然后等推送来了后,点击推送进入APP,这样我就无法在Xcode里进行调试了?
请问有什么好的办法调试APNS的推送吗?


你杀死和不杀死 只要你能收到APNs发来的推送消息就没有问题 因为那个是网络推送,推送与否跟你的app无关,当然你要事先appdelegate里注册等相关操作,然后在下边两个方法里处理你的APNs或者本地推送消息就好了

// NetNF
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

// LocalNF
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

补充一句:你点相关的消息 进入app后 进入对应的NetNF或LocalNF方法中


什么是推送,推送是服务端想要交付给客户端一些信息(正常是客户端向服务端请求数据),客户端向服务端请求数据非常容易,而服务端向客户端推送信息非常困难,可能需要手动维持一个长连接之类的方法,这个方法就是推送。但是每个 App 如果各行其是则浪费了系统资源。因此,苹果推出了自家的推送服务,这样系统帮助 App 保持长连接,所有的 App 都可以共享一个系统级长连接,从而节约了资源。这就是 APNS 的意义。
所以说,所谓的推送,是服务端的事情,跟客户端基本上半毛钱关系都没有,客户端所需要做的,就是将自身注册到 APNS 服务器,取得对应 App + Device 的令牌,然后将令牌传送给服务端,服务端使用这个令牌让 APNS 帮助推送信息给客户端,这就是整个流程。
iOS 的推送有两种情况

  1. App 正在前台运行,不会有任何反应,但是 AppDelegate 能接受到信息并且处理

  2. App 在后台运行,会有弹窗等反应,如果点击进入则会调用 AppDelegate 的相应启动函数,传入参数

所以我也不是很明白你的调试时什么意思,前台运行就是打断点,后台运行能出现信息就行了,点击进入 App 能传入参数并且正确处理不也行了吗。

【热门文章】
【热门文章】