ibeacons 和地理围栏结合 swift
Posted
技术标签:
【中文标题】ibeacons 和地理围栏结合 swift【英文标题】:ibeacons and geofencing combined swift 【发布时间】:2016-06-17 10:20:14 【问题描述】:我在我的 swift 项目中同时使用地理围栏和信标。但是每次我进入或离开任何区域时,他们的进入和退出方法都会发生冲突。更具体地说,如何对相应的信标或地理围栏区域执行不同的方法?例如 我想在用户进入地理围栏区域时显示通知,并在用户进入信标区域时显示其他页面。
【问题讨论】:
【参考方案1】:地理围栏区域和信标区域都是区域,因此调用相同的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 回答技术问题的用处有限。)
【讨论】:
谢谢邓肯 你能告诉我任何其他语言的语法吗,我会隐藏它... 这是正确的。在 Swift 中,您可以判断您的region
是否为 CLBeaconRegion
和 if let beaconRegion = region as? CLBeaconRegion /* beacon code here */ else /* geofence code here */
不用担心。如果这回答了您的问题,您应该点击复选框接受它。以上是关于ibeacons 和地理围栏结合 swift的主要内容,如果未能解决你的问题,请参考以下文章
HMS Core地理围栏能力助你实现指定范围人群的精准消息推送