IOS 9远程通知中的滑动按钮-在应用程序处于后台时工作,而不是在应用程序内存不足时工作



我已经成功地通过通知实现了对我询问的查询的回复[远程通知的滑动按钮不来

我的问题是,我确实得到了一个回调,我可以使用以下方法对操作进行必要的处理,如从文本字段提取文本,并在不从后台打开应用程序的情况下发送聊天消息:

- (void)         application:(UIApplication *)application
  handleActionWithIdentifier:(nullable NSString *)identifier
       forRemoteNotification:(NSDictionary *)userInfo
            withResponseInfo:(NSDictionary *)responseInfo
           completionHandler:(void(^)())completionHandler

我的问题是,当按下主页按钮时,应用程序不在内存中,也不在后台运行,就像通过通知发送相同回复的情况一样。

我怀疑当应用程序完全不在后台时,它无法连接XMPP-->连接我的数据库-->通过XMPP发送数据。

如何处理。我想要类似whatsapp,当应用程序甚至没有打开时,但在通知回复时,我们可以向其他用户发送whatsapp消息,他也会收到,类似的Skype。

我是不是在理解上有所欠缺,还是不得不做其他事情。

对于iPhone,应用程序需要做两件事之一:

  1. 使用Apple推送通知
  2. 请求VOIP权限

VOIP将允许应用程序继续在后台接收消息,即使它处于"睡眠"状态。但是,苹果需要批准您的应用程序符合此权限。

编辑:

XMPP需要一个开放的TCP连接。如果连接关闭,则服务器不知道如何路由消息。这意味着即使应用程序在后台,也要保持TCP连接的打开状态。

这种类型的安排被苹果归类为"VOIP功能",需要获得特别许可。使用VOIP,来电只能在具有活动TCP连接的手机上激活。因此,XMPP本质上与VOIP相同。

相关内容

最新更新