我收到一个远程推送通知,我需要在 30 分钟内注册一个 UILocalNotification,但即使用户没有在后台点击通知,我也需要这样做。
有任何方法可以做到这一点,例如:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
}
它在这里可以正常工作,但前提是用户单击通知,或者应用程序当前正在运行。
我收到一个远程推送通知,我需要在 30 分钟内注册一个 UILocalNotification,但即使用户没有在后台点击通知,我也需要这样做。
有任何方法可以做到这一点,例如:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
}
它在这里可以正常工作,但前提是用户单击通知,或者应用程序当前正在运行。
如果应用程序没有运行,直到用户没有启动您的应用程序,您就无法处理远程通知。您应该处理服务器端的业务逻辑。跟踪通知的发送时间,并在超出时间范围后触发适当的操作。
您需要在项目设置的“功能”部分中打开“后台获取”,并在文件中使用application:didReceiveRemoteNotification:fetchCompletionHandler
委托方法。ApplicationDelegate
这样您就可以在后台处理远程通知。发送推送时不要忘记在aps
字典中设置 content-available 标志。