我正在创建一个用于两因素身份验证的iOS应用程序。 我有一个用户登录的系统,我的服务器通过远程通知(推送消息)向我的iOS应用发送挑战。
当应用未激活时,我能够接收推送通知,所以很好。 我无法做的是激活我的应用程序。我不知道该怎么做。 推送消息包含结构化数据(不是简单的警报文本消息)。
有可能吗?我可以在推送消息中设置一些标志吗?还是这是违反iOS准则的事情之一?
答案 0 :(得分:0)
转到“应用程序设置”->“功能”,然后为您的应用程序打开“背景模式”。检查最后一个选项,远程通知, 要了解更多信息,请查看本教程: This raywenderlich tutorial is all u need to get up and running with push notification
如果不起作用,请在您的推送通知参数中添加:'content_available'=> true 例如:
{
"alert" :"",
"badge" :"787",
"Content-available" : "1" // or true,
"sound" : ""
}
如果将此键的值设置为1,(如果用户打开,则应用程序在后台或恢复运行),则将调用application:didReceiveRemoteNotification:fetchCompletionHandler:。
根据RemoteNotifications编程内容可用的定义是
为此键提供一个值为1的值,以指示新内容可用。包含此键和值意味着在后台启动或恢复您的应用时,将调用application:didReceiveRemoteNotification:fetchCompletionHandler:(报亭应用保证每24小时窗口至少可以通过此键接收一次推送。 )
答案 1 :(得分:0)
您可以参考有关Creating the Remote Notification PayLoad的Apple文档,并查找“配置后台更新通知”。请记住,如果您的应用程序被强制退出,这将无法正常工作。确保您的应用程序显示在AppSwitcher中,但处于非活动模式意味着您很久没有使用它了。