iOS设备关闭后会收到通知吗?

时间:2018-04-30 10:04:46

标签: ios ibeacon

当设备靠近设备运行相同的应用程序时,是否有任何协议注意到,即与用户站在同一站的设备?我可以用iBeacon取这个吗?似乎Apple Friends应用程序显示我订阅的用户的实时位置。是否可以知道接近数据?

3 个答案:

答案 0 :(得分:0)

扫描并监控信标区域后,您每秒钟都可以获得靠近您的信标(范围内):

func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
// here you can see every beacon that is in range
}

要查看您与信标之间的距离,请访问beacon.proximity属性,如果您对接收信号强度访问感兴趣,请访问beacon.rssi。

答案 1 :(得分:0)

如果您的意思是检测彼此接近的iOS设备,则可以使用信标进行检测。您可以在某处放置一个信标,当用户靠近信标并且didRangeBeacons被触发时,将从didRangeBeacons收到的用户数据(包含它们与信标和信标信息的距离)发送到服务器,在那里进行一些计算,如果信标附近有两个设备,则向它们发送推送通知。

答案 2 :(得分:0)

您可以让您的iOS应用程序自行宣传iBeacon数据包:

Turning an iOS Device into an iBeacon

然后使用Core Location的iBeacon测距/监控API来检测附近的其他此类“iBeacons”(=同一应用的用户)。

另一个选项是MultipeerConnectivity,它的工作方式有点类似。您有一个“广告客户”,可以向附近的任何人(通过蓝牙或Wi-Fi)广播您的设备,以及用于检测此类设备的“浏览器”:

https://developer.apple.com/documentation/multipeerconnectivity

这两个通常都不会在后台工作。您可以在后台检测iBeacon,但不能在后台广告。您可以在后台使用预先建立的MultipeerConnectivity会话,但无法发现和建立新会话。