在后台检测Kontakt信标

时间:2019-07-15 03:21:40

标签: ios swift bluetooth-lowenergy

我正在开发一个使用Kontaktio信标的iOS应用程序。在前台模式下,我将beaconManager.startRangingBeacons(for: region)放在func application(...)中,这使信标在前景中处于最佳位置。同时,我也想知道如何使信标范围也可以在后台模式下工作。

我已经阅读了一些StackOverflow帖子。然后,在Info.plist上,将“应用程序不在后台运行”设置为“否”,并在<string>bluetooth-central</string>下添加了<string>location</string>UIBackgroundModes。但是,添加完这些后,我的应用仍将在后台模式下停止测距信标。

Kontakt.setAPIKey("MY API KEY")

beaconManager = KTKBeaconManager(delegate: self)
beaconManager.requestLocationAlwaysAuthorization()

let region = KTKBeaconRegion(proximityUUID: UUID(uuidString: "my beacon region uuid")! as UUID, identifier: "region-identifer")
beaconManager.startMonitoring(for: region)
beaconManager.startRangingBeacons(in: region)

我将这段代码放在func applicationDidEnterBackground(...)中,我将其复制/粘贴从func application(...)func applicationDidEnterBackground(...)的相同代码(将触发信标测距事件)。我不确定这是否是在后台进行测距的正确方法,还是我错过了一些事情。

0 个答案:

没有答案