didReceiveMessage:(XMPPMessage *)消息未运行实际设备

时间:2016-08-18 13:55:22

标签: ios xmpp

我正在开发一款聊天应用。

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message{}

应用程序是背景

时,此方法正在工作并且在模拟器中运行时被抓住购买断点

但是在

中的Real Device App中的应用程序中运行
  

后台模式。它不能在后台模式下工作

1 个答案:

答案 0 :(得分:1)

添加以下代码

UIBackgroundTaskIdentifier bgTask = 0;
UIApplication  *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
    [app endBackgroundTask:bgTask];
}];

中的

- (void)applicationDidEnterBackground:(UIApplication *)application

然后这个方法

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message{}

也可以在后台工作。

有关BackgroundTask的详细信息,请访问Documentation