应用程序尚未启动时的 Apple 推送通知委托方法
Posted
技术标签:
【中文标题】应用程序尚未启动时的 Apple 推送通知委托方法【英文标题】:Apple push notification delegate method when the application is not launched yet 【发布时间】:2014-07-04 11:00:02 【问题描述】:这是我的场景:
当时我的应用程序尚未启动,应用程序从 APN 收到推送通知,调用了哪个委托方法;
我读到的:
1.如果应用程序在后台或前台调用 DidReceiveRemoteNotification。
2。如果应用程序尚未启动,那么如果我单击它,将在横幅中收到通知。应用将从 didFinishLaunching 启动并带有通知选项。
【问题讨论】:
***.com/questions/5056689/… 抱歉,具体是什么问题?如果应用程序从通知启动并且当前未运行,它将使用didFinishLaunchingWithOptions:
方法启动。
@nickfalk 我的问题是,如果应用收到推送通知但应用尚未启动,那么将调用哪个委托方法
啊,知道了。抱歉,在这种情况下没有委托调用,因为应用程序作为 Dodo 已死。毕竟,实际上在设备上创建推送通知的不是应用程序,而是操作系统......
所以如果应用还没有启动,我们就不能增加应用的徽章编号,对吧?
【参考方案1】:
您可以尝试静默推送通知。如果应用程序处于终止状态,将调用静默推送通知。
无声推送将在任何状态下调用委托。
您需要通过:'content-available' => '1'
以及用于静默通知的有效负载。
只是限制是它支持 ios7 及更高版本。
【讨论】:
【参考方案2】:如果我正确理解了您的问题,那么下面的解决方案 当您的应用程序尚未启动(非可运行状态)时,没有调用委托方法(没有可用的委托方法。)
如果你想在当时收到推送通知后做某事(非可运行状态或挂起状态)IOS 7提供两种方法
" setMinimumBackgroundFetchInterval: " “应用程序:performFetchWithCompletionHandler:”
【讨论】:
好的,如果你是正确的手段(没有可用的委托方法)如果你的应用程序尚未启动,你将如何更新它的徽章编号 提供者在payload中向设备发送badge时,ios系统会自动更新badge。您需要在didfinishLaunchingwithOption方法中将badge number清0。以上是关于应用程序尚未启动时的 Apple 推送通知委托方法的主要内容,如果未能解决你的问题,请参考以下文章