首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在iOS应用程序处于后台或不运行时响应iOS APNS事件

如何在iOS应用程序处于后台或不运行时响应iOS APNS事件
EN

Stack Overflow用户
提问于 2019-11-13 08:58:58
回答 2查看 285关注 0票数 0

我正在通过APNS向我的iOS应用程序发送通知和数据消息(非通知),在前景中一切都很好。

我希望能够触发代码时,应用程序是在后台。

我已经在info.plist中设置了“启用后台模式”“远程通知”

但是,在我将应用程序带到前台之前,以下消息不会触发

代码语言:javascript
复制
    message = new Message()
    {
        Apns = new ApnsConfig()
        {
                Headers = new Dictionary<string, string>()
            {
                { "content_available", "true" },
             },
        },
        Data = new Dictionary<string, string>()
        {
             {"temperature",     "warm"},
        },
        Topic = "thetopic",
     };

( 1)有人能告诉我为什么这件事不能立即进行吗?我试着添加

代码语言:javascript
复制
{ 
    "apns-priority", "10" 
},

但是这并没有什么区别,而且确实是本地和远程通知编程指南

国家

将此优先级用于只包含内容可用键的推送通知是错误的。

我在这里错过了什么?

  1. 在iOS中是否有可能在不涉及用户的情况下,使未运行的应用程序响应an通知或消息而运行?
  2. 在iOS下,是否有可能使应用程序永久运行(即自动启动),以便它始终能够响应通知或消息?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-29 20:03:37

您正在发送“数据消息”--这将不适用于没有运行的应用程序。这是非常糟糕的文档,但你必须发送“通知消息”来唤醒你的应用程序。只需加上

代码语言:javascript
复制
"notification":{
       "title" : "title",
       "body" : "body"
 },

给你的信息,让它开始工作

票数 2
EN

Stack Overflow用户

发布于 2019-11-13 09:53:42

您应该考虑为此创建一个UNNotificationServiceExtension。

请参阅:https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension

实际上,这是一个迷你应用程序,每次收到通知时都会启动,您可以将代码放入其中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58833458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档