【问题标题】:Detect iBeacons without knowing UUID. Some apps are doing so在不知道 UUID 的情况下检测 iBeacons。一些应用程序正在这样做
【发布时间】:2017-06-27 08:16:43
【问题描述】:

我查看了这个问题的答案,在大多数答案中,我发现在不知道设备的 UUID 的情况下无法检测到 iBeacon。

但 App Store 上的一些应用也在做同样的事情。以下是那些检测未知 iBeacon 的应用的链接。

  1. https://itunes.apple.com/in/app/locate-beacon/id738709014?mt=8
  2. https://itunes.apple.com/us/app/my-beacon-best-beacon-manager/id850255614?mt=8

让我知道是否可以检测到未知的 iBeacon。

提前致谢。

【问题讨论】:

  • 我不确定,但在这些应用程序中,您需要添加信标详细信息,如 UUID、MAJOR 和 MINOR 以跟踪信标的范围。
  • 您无需在这些应用程序中输入任何详细信息。我自己用 Estimote 信标尝试过。

标签: ios ibeacon altbeacon estimote clbeacon


【解决方案1】:

我是您在问题中引用的 Beacon Locate 应用程序的作者。我可以向您保证,它必须预先知道 ProximityUUID 才能检测信标。该应用程序预先配置了十几个 UUID(Estimote 的默认 UUID 就是其中之一),因此您无需先手动输入 UUID 即可检测这些信标。我们这样做是为了让用户尽可能轻松。 (很明显这很有效,因为您甚至没有注意到我们正在这样做。感谢您的赞美!)

您可以通过转到 tge 应用设置来查看这些预配置的 UUID,这也允许您输入更多内容。

过去,有一些私有 API 可让您检测 iOS 上的任何信标。但是这些存在三个问题:

  • Apple 禁止在 AppStore 中发布使用私有 API 的应用程序
  • 这些私有 API 可能会随着任何操作系统更新而发生变化,导致它们无法使用
  • 自 iOS 9 起,我所知道的用于执行此操作的私有 API 已全部删除

【讨论】:

  • 非常感谢@davidgyoung 的回答。这对我来说很有用。再次感谢。
  • 私有 API 是什么意思。如果我从我的网络服务器加载一个 UUID 列表,它会被视为私有 API 吗?
  • 不,这不是私有 API。私有 API 是一个未记录的内部 iOS 方法调用,但您仍然调用,因为有人对代码进行了逆向工程并发现它仍然有效。
  • 因此,这两个操作系统之间的功能似乎存在根本差异。根据这个答案,在 iOS 中,没有(安全)方法可以在不传递特定 UUID 的情况下检测 iBeacons。然而,在 Android 中,使用 Android 信标库,应用程序开发人员基本上传递了一个“模式”,它将匹配数据包,因此信标,用于整个协议(例如 Eddystone),从而可以对任何信标的检测做出反应(本质上是什么在这个SO问题中被要求)。这种理解正确吗?
猜你喜欢
  • 2018-09-29
  • 2016-09-06
  • 1970-01-01
  • 2014-09-22
  • 1970-01-01
  • 2020-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多