iOS:如何确定作为 iBeacon 的广播的功耗?

标签 ios ios7 bluetooth-lowenergy ios8 ibeacon

对于上下文:我正在开发一个应用程序,我们正在考虑使用 iBeacon 来识别附近正在运行该应用程序的其他人。任何时候应用程序运行时,设备都充当 iBeacon;当用户执行特定操作时,他们的设备将对附近的 iBeacon 进行测距以识别附近的其他人。

我正在尝试弄清楚这会对电池产生什么样的影响,以作为 iBeacon 持续广播。它应该是最小的(我的意思是,蓝牙低功耗的全部意义在于它是低功耗,对吧?),但如果没有同时运行两个相同的设备几个小时,一个广播还有一个不是,我不确定如何确定它对电池生命周期的影响有多大。

我尝试在 Instruments 中使用 Energy Diagnostics 配置文件,但对于蓝牙,它只是打开或关闭。这仅在我禁用/启用设备上的蓝牙时才会改变。启动或停止 iBeacon 广播不会改变任何内容。作为 iBeacon 的广播似乎不太可能在已经运行的蓝牙硬件之上增加零开销,但 Instruments 没有给我足够的信息来确定这一点。

有什么想法吗?

最佳答案

在制作 Android Beacon 库时,我必须想出一种在该平台上进行类似测试的方法。我使用的技术非常强大,应该也适用于 iOS。

我。将您的手机置于几乎不会发生与您的应用无关的状态。

  1. 卸载或终止任何可能在后台运行的应用
  2. 禁用 3G/Wifi(以防止操作系统数据传输使用电池)
  3. 禁止屏幕进入休眠状态(永远)。
  4. 将电池充电至 100%

二。测量您的应用在作为信标传输时消耗的电池电量:

  1. 启动您的应用并使其作为信标传输。
  2. 断开手机与充电器的连接,并记录时间。
  3. 等待几个小时,直到电池电量变低。记录自上一步以来经过了多少时间。
  4. 记录电池电量(例如 10%)

三。将手机充电回 100% 后,进行基线测量:

  1. 在不作为信标传输的状态下启动您的应用。
  2. 断开手机与充电器的连接,并记录时间。
  3. 等待的时间与步骤 II(3) 中的时间完全相同。
  4. 记录电池电量。

III(4) 和 II(4) 之间的电池电量差异是您的手机在作为信标传输时与基线相比额外使用了多少。

是的,这项技术需要时间——但在一夜之间运行测试,您可以在 48 小时内得到答案。 (尽管您会连续两个早上遇到电池没电的情况!)

关于iOS:如何确定作为 iBeacon 的广播的功耗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25464441/

相关文章:

iphone - 使用适用于 iOS 的 Dropbox Chooser SDK 时无法生成链接错误

ios - iOS7 相机拍照模式全屏

unit-testing - 方法的传递引用参数的 OCMock stub

ios - 从 Xcode 5 支持旧版本的 iOS

linux - 有没有办法在兼容蓝牙 2.0 的情况下运行 iBeacon。设备?

ios - Bluetooth LE (4.0) 有多少个中心可以连接到外围设备?

ios - bluez 是否支持低功耗与 ios 设备配对?

ios - TableView 的 JSON 数据太慢

ios - 扩展保存特定元素类型的快速数组

ios - 将 SubView 添加到 UITableViewCell 不会显示