我正在构建一个使用地理围栏的应用,但我意识到CLRegion有很多限制,例如:
位置authorizationStatus必须是.authorizedAlways才能进行区域监控。
只能监控圆形区域
这限制了可以使用区域监视应用的功能。然而,在做了一些研究之后,我发现有一些方法可以通过创建自定义CLRegion类来改变这种行为。
说实话,我不知道该怎么做或从哪里开始。有没有人对这样的自定义CLRegion类如何允许自定义地理围栏有任何建议?
有一个关于appcoda的教程简要地谈到了这个,但它根本没有深入,你可以在这里找到它:
https://www.appcoda.com/geo-targeting-ios/
他们建议从以下协议开始:
protocol RegionProtocol {
var coordinate: CLLocation {get}
var radius: CLLocationDistance {get}
var identifier: String {get}
func updateRegion()
}
protocol RegionDelegateProtocol {
func didEnterRegion()
func didExitRegion()
}
从这些可以为CLRegions创建自定义功能,例如监视多边形等。
如何开始实施自定义区域?
谢谢!