iOS应用在后台时是否可以进行本地提醒


一个iOS应用,可以与服务器互相收发消息,针对iOS应用的状态,存在以下三种情况:

1)若iOS应用为活动状态,刚与服务器保持一个长连接,客户端与服务器通过此连接收发消息。
2)若iOS应用为退出状态,长连接被断开,服务器向客户端发消息则通过APNS推送消息实现。
3)若iOS应用刚刚切至后台,还没有关闭,发现长连接并没有断开,服务器通过长连接向客户端发送消息还是能发出去,但是iOS应用只有重新切至前台时才能收到消息。

针对第三种情况,有一个疑问:

iOS应用刚切至后台时,连接还保持着,此时客户端在后台是否可以收服务器来的消息,然后用本地通知来通知用户?如果可以的话应该怎么做?还是说一旦切至后台,就必须通过APNS来通知用户?

xmppframework ios 网络编程 iphone xmpp

GAL中毒已深 11 years, 4 months ago

LocalNotification在应用挂到后台以后是仍然可以运行的,但一段时间以后,系统仍然会终止它。
所以建议你把应用挂到后台,主动断开长连接。
如果一定要用后台运行,可以参考这篇文章 http://tapbots.com/blog/pastebot/past... 他们在后台常年播放一个声音来保持应用存活。我个人认为这个方案比较恶心。。。不推荐使用

囧EXia answered 11 years, 4 months ago

Your Answer