我的项目包括在房子的每个房间都有一个iBeacon。 当用户进入房屋时,我的应用程序执行扫描过程以检测实时看到的iBeacon(UUID,主要和次要)以及iBeacon具有最强RSSI信号的内容。如果最强信号在10秒内相同,那么我的应用程序就知道用户在哪个房间并将其显示为通知。
我需要在后台模式下执行此过程,即使iPhone被锁定或应用程序被杀死。
使用didEnterRegion,我可以唤醒我的应用程序几秒钟来执行操作。 但是,我的扫描过程(我在上面描述过)必须保持超过几秒但小于<秒。 3分钟(用户进入房间并停留的时间),扫描间隔为1秒或2秒
是否可以通过CoreBluetooth Scan执行我想要的操作? CoreLocation不能给我RSSI信号做一个过滤过程,是不是?
谢谢你,
格雷格
答案 0 :(得分:0)
您可以通过在监控的同时启用范围来完成CoreBluetooth所需的功能。这将为您提供每秒一次可见信标的RSSI读数,在首次检测后最多3分钟。有关详细信息,请参见此处:
http://developer.radiusnetworks.com/2014/11/13/extending-background-ranging-on-ios.html
CoreBluetooth无法帮助您,因为它不会让您检测到iBeacons - Apple阻止了这种使用。