2011-10-20 33 views
1

我想在应用程序关闭时将数据发送到我的Web服务器。那可能吗?我已阅读我可以发送的位置,但我也想发送一些电话号码。iPhone应用程序在关闭时发送数据

如果无法运行该应用程序,我至少可以从我的服务器与它通信,然后在后台做些什么?

感谢

回答

2

当应用程序进入后台的应用程序委托的applicationDidEnterBackground方法被调用。

在该方法中,您可以使用UIApplication对象上的beginBackgroundTaskWithExpirationHandler开始后台处理。

只要意识到你不会永远在后台执行任务。如果您需要知道您是否用完了时间,您可以通过阅读UIApplication中的backgroundTimeRemaining属性找出您已离开多久。

如果你的处理很短,你应该没问题,但要记住,如果你的处理需要网络访问,那么你不能确定需要多长时间。

+0

这是我的观察经验,在目前(至少iOS 5)你可以得到10分钟的后台处理时间。但是,这可能取决于不同的因素(可能是电池寿命等),您的体验可能会有所不同。 – Damien

+0

从服务器请求信息到应用程序,与通知类似的过程,但我实际上不发送信息,我只是唤醒应用程序发送给我新数据。 – subharb

+0

您无法通信(或唤醒)未从iOS上的远程服务器运行的应用程序。使用Apples Remote Notifications服务可以实现类似的功能(因为该服务是始终运行的iOS级服务)。 – Damien

相关问题