【问题标题】:Estimote Repeat Notifications估计重复通知
【发布时间】:2015-01-28 09:22:16
【问题描述】:

我正在开发一个带有多个 Estimote iBeacons 的 iOS 8 应用程序。根据(https://community.estimote.com/hc/communities/public/questions/200966066-How-detect-multiple-beacons-iOS?locale=en-us),我实现了一个BeaconManager,并注册了两个BeaconRegions。但是,只有第二个信标区域有效。

相反,我使用了两个 BeaconManager 并为它们每个注册了一个 BeaconRegion。现在它起作用了。但是,出现了一个新问题:在某些情况下,当我进入或退出该区域时,我会收到一个信标的多个通知,而不仅仅是一个。此链接 (http://beekn.net/2013/11/ibeacon-tutorial-dealing-with-errors/) 表示这是 Apple 的错误,但我不确定此案。

有人可以帮忙吗?

谢谢, 瑞恩

【问题讨论】:

    标签: ios objective-c ibeacon estimote


    【解决方案1】:

    Beacon 区域是共享的系统资源,这意味着 所有 BeaconManager 和 LocationManager 都会收到应用中注册的所有区域状态变化的通知。

    示例:如果您使用管理器 A 监视信标区域 A,使用管理器 B 监视信标区域 B,管理器 A 仍会收到有关区域 B 的通知。管理器 B 和区域 A 也是如此。

    因此,在您的应用中拥有多个 BeaconManager 实例几乎没有意义。

    使用单个 BeaconManager 监控多个区域应该可以正常工作,必须有特定于您的代码的某些内容导致其中一个区域无法工作。如果您可以在问题中添加代码 sn-p,这可能有助于跟踪问题。

    【讨论】:

    • 谢谢。有用。我不知道为什么它以前不起作用,但现在我换了一个 Beacon 管理器,它工作正常。
    • 顺便说一句,我使用主要和次要在每个区域中定位一个信标,因此我认为一个信标管理器只会监听一个信标。但似乎并非如此。
    【解决方案2】:

    在我看来,这些应该只是一个信标管理器来管理所有信标。

    如果您有来自同一供应商的信标(在您的情况下是 Estimote iBeacons),那么我认为您不需要在这里创建多个区域。

    因为同一供应商的所有信标都有相同的proximity UUID。不同的是它的Major valueMinor value

    因此,您可以使用其主要和次要值来区分所有信标,还有一个 ranging 可以进一步细分以进行分离。

    【讨论】:

    • 谢谢。它适用于具有不同区域的一个信标管理器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多