ibeacons和geofencing结合迅速

时间:2016-06-17 10:20:14

标签: ios swift ibeacon geofencing

我在快速项目中使用地理围栏和信标。但每当我进入或离开任何一个地区时,他们的进入和退出方法都会发生冲突。更具体地说,如何对相应的信标或地理围栏区域执行不同的方法,例如。 我想在用户进入地理围栏区域时显示通知,并在进入信标区域时显示其他页面。

1 个答案:

答案 0 :(得分:0)

地理围栏区域和信标区域都是区域,因此调用相同的didEnterRegion方法来通知您两者。您需要编写didEnterRegion方法以使用if语句检查区域的类。 (我忘记了Swift中的语法。)

编辑:

Objective-C代码将是

if ([region isMemeberOfClass: [CLBeaconRegion class]])
{
  //beacon code
}
else
{
  //geofence code
}

你当然可以将其转换为Swift语法,但David Young在他的评论中表现出更好的方式,如下:

if let beaconRegion = region as? CLBeaconRegion
{
  //beacon code
}
else
{
  //geofence code
}

(谢谢大卫。在我喝咖啡之前,从我的iPad上回答技术问题的用途有限。)