在 iOS 设备关闭时收到通知?
Get notification wether iOS device is close?
当设备靠近设备运行相同的应用程序时,是否有任何协议记录,即与用户站在同一站的设备?我可以用 iBeacon 获取这个吗? Apple Friends 应用程序似乎显示我订阅的用户的实时位置。是否可能知道邻近数据?
扫描和监控信标区域后,每秒您都会在以下位置(在范围内)获得附近的信标:
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
// here you can see every beacon that is in range
}
要查看您与信标之间的距离,请访问 beacon.proximity 属性,如果您对接收信号强度感兴趣,请访问 beacon.rssi。
如果您的意思是检测彼此靠近的 iOS 设备,则可以使用信标来实现。你可以在某处放置一个信标,当用户靠近信标并且 didRangeBeacons
被触发时,将从 didRangeBeacons
接收到的用户数据(包含他们与信标的距离和信标的信息)发送到服务器,在那里做一些计算,如果信标附近有两个设备,向他们发送推送通知。
您可以让您的 iOS 应用程序本身通告 iBeacon 数据包:
Turning an iOS Device into an iBeacon
然后使用来自 Core Location 的 iBeacon ranging/monitoring API 检测附近的其他 "iBeacons"(= 同一应用程序的用户)。
另一个选项是 MultipeerConnectivity,它的工作方式有点类似。您有一个 "advertiser" 可以向附近的任何人广播您设备的存在(通过蓝牙或 Wi-Fi),还有一个 "browser" 用于检测此类设备:
https://developer.apple.com/documentation/multipeerconnectivity
虽然这两者通常都不会在后台运行。您可以在后台检测 iBeacon,但不能在后台发布它。您可以在后台使用预先建立的 MultipeerConnectivity 会话,但无法发现和建立新会话。
当设备靠近设备运行相同的应用程序时,是否有任何协议记录,即与用户站在同一站的设备?我可以用 iBeacon 获取这个吗? Apple Friends 应用程序似乎显示我订阅的用户的实时位置。是否可能知道邻近数据?
扫描和监控信标区域后,每秒您都会在以下位置(在范围内)获得附近的信标:
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
// here you can see every beacon that is in range
}
要查看您与信标之间的距离,请访问 beacon.proximity 属性,如果您对接收信号强度感兴趣,请访问 beacon.rssi。
如果您的意思是检测彼此靠近的 iOS 设备,则可以使用信标来实现。你可以在某处放置一个信标,当用户靠近信标并且 didRangeBeacons
被触发时,将从 didRangeBeacons
接收到的用户数据(包含他们与信标的距离和信标的信息)发送到服务器,在那里做一些计算,如果信标附近有两个设备,向他们发送推送通知。
您可以让您的 iOS 应用程序本身通告 iBeacon 数据包:
Turning an iOS Device into an iBeacon
然后使用来自 Core Location 的 iBeacon ranging/monitoring API 检测附近的其他 "iBeacons"(= 同一应用程序的用户)。
另一个选项是 MultipeerConnectivity,它的工作方式有点类似。您有一个 "advertiser" 可以向附近的任何人广播您设备的存在(通过蓝牙或 Wi-Fi),还有一个 "browser" 用于检测此类设备:
https://developer.apple.com/documentation/multipeerconnectivity
虽然这两者通常都不会在后台运行。您可以在后台检测 iBeacon,但不能在后台发布它。您可以在后台使用预先建立的 MultipeerConnectivity 会话,但无法发现和建立新会话。