【问题标题】:Objective-C/iOS: Keeping bluetooth connection alive in the backgroundObjective-C/iOS:在后台保持蓝牙连接
【发布时间】:2012-01-10 02:57:24
【问题描述】:

我已经对此进行了几天的研究,看起来在手机进入睡眠状态或应用处于后台时无法保持蓝牙连接。但是,我发现一个声称可以一直运行的应用程序:RunKeeper app 说:

2.5.1.0 版的新功能

  • 支持使用 Wahoo heartrate 在后台跟踪心率 监控。

有谁知道他们如何在应用处于后台时将心率数据发送到手机?

更新:

通过在我的 plist 中为“bluetooth-central”在“必需的后台模式”下添加一个条目来使其工作。

【问题讨论】:

  • 你能否让它在后台存活超过 10 分钟?

标签: objective-c ios background bluetooth connectivity


【解决方案1】:

您需要通过 CoreBluetooth 框架使用新的低功耗蓝牙功能 另请注意,这目前仅在 iPhone4S 上可用,因为低功耗蓝牙功能取决于 iPhone 中的蓝牙硬件。

【讨论】:

  • 谢谢,我正在使用 CoreBluetooth 框架。我们的应用程序和 BLE 连接在应用程序运行时工作正常。问题是当手机进入睡眠状态或返回后台时,BLE 连接停止工作。我在 CoreBluetooth 框架中没有看到任何关于在后台保持连接的内容。当应用程序在后台并且我们按下 BLE 设备上的按钮时,手机会发出通知说设备需要访问应用程序,因此我必须再次手动打开应用程序。
  • 您的 info.plist 中是否将 UIBackgroundModes 设置为 external-accessory ?
  • @DennisMathews 如果您使用的是 CoreBluetooth,我认为您想要 bluetooth-central...
  • 非常感谢,这正是我所需要的 :)
  • so bluetooth-central 适用于 iOS 5.0 及更高版本.. 在 4.x 中有什么方法可以做同样的事情吗?如果是,请帮忙。
【解决方案2】:

在 Xcode 5 中,您的应用功能中有一个背景模式部分。将后台模式设置为开启并选中“使用蓝牙 LE 配件”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多