此外,如果我们在同一个ipad上打开“定位”应用程序,那么我们的应用程序也会开始在“dIDRangeBeacons”中返回数据.尝试了各种版本的应用程序,所有Swift2.3应用程序的行为方式都相同.无法弄清楚Locate应用程序正在做什么…在同一条船上的任何人?
这是我们正在使用的代码.我不确定这应该写在这里或评论中,但不能以某种方式将代码放在评论中……
import UIKitimport CoreLocationclass VIEwController: UIVIEwController,CLLocationManagerDelegate {let locationManager = CLLocationManager()let region = CLBeaconRegion(proximityUUID: NSUUID(UUIDString: "9735BF2A-0BD1-4877-9A4E-103127349E1D")!,IDentifIEr: "testing")// Note: make sure you replace the keys here with your own beacons' Minor ValuesoverrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Do any additional setup after loading the vIEw,typically from a nib. self.locationManager.delegate = self self.locationManager.requestAlwaysAuthorization() self.locationManager.startMonitoringForRegion(self.region)}overrIDe func dIDReceiveMemoryWarning() { super.dIDReceiveMemoryWarning() // dispose of any resources that can be recreated.}func locationManager(manager: CLLocationManager,dIDStartMonitoringForRegion region: CLRegion) { print("dIDStartMonitoringForRegion") self.locationManager.requestStateForRegion(region)}func locationManager(manager: CLLocationManager,monitoringDIDFailForRegion region: CLRegion?,withError error: NSError) { print("monitoringDIDFailForRegion")}func locationManager(manager: CLLocationManager,dIDDetermineState state: CLRegionState,forRegion region: CLRegion) { print("dIDDetermineState") if state == .InsIDe { //Start Ranging self.locationManager.startRangingBeaconsInRegion(self.region) self.locationManager.startUpdatingLocation() } else { //Stop Ranging here self.locationManager.stopUpdatingLocation() self.locationManager.stopRangingBeaconsInRegion(self.region) }}func locationManager(manager: CLLocationManager,dIDRangeBeacons beacons: [CLBeacon],inRegion region: CLBeaconRegion) { print(beacons.count)}
}
[更新发布更多尝试以使其工作]
如果我们删除self.locationManager.startMonitoringForRegion(self.region),应用程序在前台模式下工作
并调用self.locationManager.startRangingBeaconsInRegion(self.region)
self.locationManager.requestAlwaysAuthorization()之后直接
这是次优的,因为我们没有进入和退出事件或状态,但至少我们得到了信标计数.
在iOS 10上有许多关于信标检测问题的轶事报告.症状包括:>不正确的区域退出事件,尤其是当应用程序在后台时,如果按下肩部按钮,则会显示输入事件.
>远程信标检测中的周期性丢失,当信标在附近时,回调提供空信标列表.
>当针对iOS 9.x运行不同的信标测距或检测应用程序时,远程信标回调会返回正确的结果.
这可能是一个将在iOS更新中修复的错误.在此之前,一些用户已经报告将XCode中的应用程序部署目标设置为9.x将解决该问题.
总结以上是内存溢出为你收集整理的ibeacon – 用于Beacon检测的Swift2.3代码全部内容,希望文章能够帮你解决ibeacon – 用于Beacon检测的Swift2.3代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)