objective-c - 当应用程序在后台时,NSURLConnection

标签 objective-c ios core-location background-process multitasking

我想知道当应用程序在后台时是否可以发送异步连接。这样做的原因是因为每次位置更改时,即使应用程序不在前台,我都需要发送用户的位置(从“核心位置”获取)以更新远程服务器中的数据库。

我是否需要为此设置权限?当应用程序处于后台时,Apple是否拒绝应用程序处理连接?

提前致谢!!

最佳答案

iOS提供了多任务API,即即使您的应用程序处于后台,也可以访问其某些API。这些服务是-

  • 本地通知
  • 背景音频
  • 后台任务
  • 背景位置

  • 因此,当应用程序不在前台时,您绝对可以使用CoreLocation发送位置更新。

    此链接-iOS multitasking具有在后台运行应用程序时启动服务的代码。分步说明
  • 指定位置背景模式
  • 通过使用NSTimer在后台使用UIApplication:beginBackgroundTaskWithExpirationHandler:
  • 如果x时间小于UIApplication:backgroundTimeRemaining时间,它确实可以正常工作;如果x较大,则在没有剩余时间避免后台任务被杀死之前,应再次启用(禁用)位置管理器。这确实有效,因为位置是后台执行的三种允许类型之一。

  • 消息来源-How do I get a background location update every n minutes in my iOS application?

    关于objective-c - 当应用程序在后台时,NSURLConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13747791/

    相关文章:

    iphone - 选择 UITableViewCell 后如何延迟关闭模式窗口

    python - CryptoDigest/SHA1 的 Base64 编码 - 字符串与 Java/Python 的结果不匹配

    android - 如何为混合应用程序使用媒体查询

    ios - 链接多个静态库时出现重复符号错误。

    ios - MonitoringForRegion 没有给出输出?

    objective-c - 在 RubyMotion 中使用@selector

    iphone - NSPredicate:每种取一个

    iphone - 如何自定义 MKAnnotationView 标注的大小?

    ios - 如何在 iPhone 稍微滚动时停止 CLLocationManager 标题值更改。

    ios - 设备锁定时无法正确触发重要的位置更改