当应用程序在后台运行时,将通知从 Web 服务器拉取到 iOS 设备

Pull notifications from web server to iOS device when app is backgrounded

我希望能够在应用程序处于后台时发出位置和应用程序状态请求。我知道您可以为该应用程序注册不同的背景模式。

我的 Web 服务器是否可以向 iOS 设备发送推送通知,然后设备依次发送和 NSURLConnection 发送当前位置数据和任何其他状态数据作为正文的一部分要求?本质上,我正在将 iOS 设备变成一个 Web 服务器,该服务器正在向我的服务器发送响应,以便将该数据报告给其他用户。

除非用户点击并打开应用程序,否则推送通知无法执行任何操作。

但是,在 iOS 7 或更高版本中,您可以使用后台提取及时调用网络服务和 fetch/send 数据到服务器。执行此操作不需要推送通知。

但是不可能访问 GPS 数据之类的东西,这需要应用程序处于前台模式。您所能做的就是使用后台获取发送最后一个已知位置。

随着 iOS 7 Apple 引入了推送通知触发后台获取的功能。因此,您的服务器 可能 向应用程序发送推送通知,然后应用程序在没有用户交互的情况下执行后台工作。

请参阅 this post 上标题为 远程通知后台获取 的部分。

另外你可以在后台使用GPS,你只需要指定location updates后台模式。