如何在后台运行iphone应用程序时接收异步网络消息
我有一个iphone应用程序从服务器接收网络消息。当应用程序在前端运行时,它是正常的 但是,当应用程序在后台运行时,应用程序不会收到网络消息。当我把它带回弗伦登后,它开始接收 如何使应用程序在后台运行时也能接收网络消息如何在后台运行iphone应用程序时接收异步网络消息,iphone,cocoa-touch,networking,background,Iphone,Cocoa Touch,Networking,Background,我有一个iphone应用程序从服务器接收网络消息。当应用程序在前端运行时,它是正常的 但是,当应用程序在后台运行时,应用程序不会收到网络消息。当我把它带回弗伦登后,它开始接收 如何使应用程序在后台运行时也能接收网络消息 谢谢。我不是iphone开发者,但对我来说,对于所有后台应用程序,所有网络消息都应该推送到苹果服务器,然后推送到手机上。安卓系统中没有类似的服务。首先查看以下帖子: 第二,具体来说,当你的应用程序在后台并且被操作系统冻结时,它将无法访问互联网,因此你的应用程序不会听到来自异步请求
谢谢。我不是iphone开发者,但对我来说,对于所有后台应用程序,所有网络消息都应该推送到苹果服务器,然后推送到手机上。安卓系统中没有类似的服务。首先查看以下帖子: 第二,具体来说,当你的应用程序在后台并且被操作系统冻结时,它将无法访问互联网,因此你的应用程序不会听到来自异步请求的任何回调 第三,可能的战略:
- 当你的应用程序切换到后台时,立即向你的服务器发送一个请求,这样你的服务器就会有一个关于你的应用程序最新状态的更新记录
- 当你的应用程序要切换回前台时,再次通过发布请求让你的服务器知道这一点
- 可能会发生这样的情况:你的应用程序仍在后台,而你的服务器只需要访问它或向它发送任何消息。在此场景中,请尝试Apple提供的APNs(Apple推送通知服务)。它是免费的,易于实现。一旦你为你的应用程序设置了APN,可能的结果是,用户从你的服务器收到一条推送消息,然后决定将你的应用程序放回前台。尽管这仍然完全取决于用户,但机会还是很大的
- 推送通知。应用程序未运行,但您的服务器可以请求发送通知,然后通知将发送到iPhone,提示用户启动您的应用程序,然后通过常规请求从服务器更新自身
- 后台网络呼叫。您的应用程序可以请求在后台保持线程活动,以便完成网络活动。您可以使用此功能在应用程序关闭时发送请求,以便与服务器签入
NSURLRequest
等的方式执行即可。