ios – 在后台监控iBeacon信标

ios – 在后台监控iBeacon信标,第1张

概述我一直在开发iOS应用程序,并使用Apple的CoreLocation和iBeacon技术.到目前为止,我使用了三个具有不同UUID的信标.一切都很好,直到我决定在我的应用程序中添加更多信标.只有那时我遇到了奇怪的问题.有人说,一个应用程序可以在后台监视多达20个信标区域 – 但在我的特定情况下,这个数字似乎是3.我尝试了不同的方法,没有任何效果.当我在阵列中改变信标时,结果就像我预期的那样 – 我一直在开发iOS应用程序,并使用Apple的CoreLocation和iBeacon技术.到目前为止,我使用了三个具有不同UUID的信标.一切都很好,直到我决定在我的应用程序中添加更多信标.只有那时我遇到了奇怪的问题.有人说,一个应用程序可以在后台监视多达20个信标区域 – 但在我的特定情况下,这个数字似乎是3.我尝试了不同的方法,没有任何效果.当我在阵列中改变信标时,结果就像我预期的那样 – 当app在后台时,只有前3个信标区域触发了dIDEnterRegion和dIDExitRegion事件.当它在前景时没有应用.

请考虑一下:

>我有一组自定义信标对象(从API中使用)
>对于每个自定义信标对象,我创建一个CLBeaconRegion实例,如下所示:

let beaconRegion = CLBeaconRegion(proximityUUID: NSUUID(UUIDString: region.uuID)!,IDentifIEr: region.uuID)beaconRegion.notifyOnEntry = truebeaconRegion.notifyOnExit = truebeaconRegion.notifyEntryStateOndisplay = true

>然后我将该实例传递给CLLocationManager的startMonitoringForRegion方法,如下所示:

locationManager.startMonitoringForRegion(beaconRegion)

当循环通过CLLocationManager的monitoredRegions方法响应时,我获得了我期望的所有信标区域,包括regionState 2(外部)

>除此之外,我已经添加了:

NSLocationAlwaysUsageDescription

到应用程序的Info.pList

locationManager.requestAlwaysAuthorization()

到VIEwController的vIEwDIDLoad方法

尽管如此,只有当我处于我开始监控的前三个信标区域中的任何一个区域时,dIDEnterRegion和dIDExitRegion才会触发.

谢谢,

Piotr Czarnoleski

解决方法 iOS设备具有有限数量的用于信标检测的硬件加速槽.这些插槽遵循蓝牙芯片,以在信标区域模式匹配时通知 *** 作系统.当使用这些插槽时,背景检测非常快 – 区域输入事件可以在范围内的信标传输的第二或两个内发生.

但是,如果这些插槽耗尽,则 *** 作系统必须回退到完全扫描以找到其余区域. *** 作系统限制这些节省电池.证据表明它们大约每15分钟发生一次.这意味着,如果您的应用程序监控的任何未获得硬件加速槽的区域在匹配的信标进入范围后最多可能需要15分钟(尽管平均而言通常需要更少的时间 – 7.5分钟会是平均值)

有多少硬件插槽?这是未记录的,可能因iOS设备型号而异.但是实验表明它可能大约为30.这是在手机上的所有应用程序中,与每个应用程序的20个区域限制完全无关.注册区域的第一批应用程序是第一批获得插槽的应用程序.

在这里阅读更多:https://developer.radiusnetworks.com/2015/04/21/max-beacon-regions-ios.html

您可能正在遇到上述情况,并且您的手机上只有3个硬件加速插槽可用于您的应用.要测试这个理论,你可以:

>卸载您期望的其他应用程序可能正在注册信标区域,这应该可以释放更多的插槽.>等待最多15分钟,看看你是否在后台检测到其他地区.

@H_419_60@ 总结

以上是内存溢出为你收集整理的ios – 在后台监控iBeacon信标全部内容,希望文章能够帮你解决ios – 在后台监控iBeacon信标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1073992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存