Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 创建用于监视的自定义CLregion_Ios_Swift_Core Location_Geofencing_Clregion - Fatal编程技术网

Ios 创建用于监视的自定义CLregion

Ios 创建用于监视的自定义CLregion,ios,swift,core-location,geofencing,clregion,Ios,Swift,Core Location,Geofencing,Clregion,我正在开发一个使用地理围栏的应用程序,但我意识到CLRegion有很多限制,例如: 该位置授权状态必须为.authorizedAllways,区域监视才能工作 只能监视圆形区域 这限制了可以使用区域监视应用的功能。然而,在做了一些研究之后,我发现有一些方法可以通过创建一个自定义的CLRegion类来改变这种行为 老实说,我不知道怎么做,也不知道从哪里开始。对于这样一个定制的CLRegion类如何允许定制的地理围栏,有人有什么建议吗 有一个关于appcoda的教程简要介绍了这一点,但根本没有深

我正在开发一个使用地理围栏的应用程序,但我意识到CLRegion有很多限制,例如:

  • 该位置授权状态必须为.authorizedAllways,区域监视才能工作

  • 只能监视圆形区域

这限制了可以使用区域监视应用的功能。然而,在做了一些研究之后,我发现有一些方法可以通过创建一个自定义的CLRegion类来改变这种行为

老实说,我不知道怎么做,也不知道从哪里开始。对于这样一个定制的CLRegion类如何允许定制的地理围栏,有人有什么建议吗

有一个关于appcoda的教程简要介绍了这一点,但根本没有深入介绍,您可以在这里找到:

他们建议从以下协议开始:

protocol RegionProtocol {
   var coordinate: CLLocation {get}
   var radius: CLLocationDistance {get}
   var identifier: String {get}

   func updateRegion()
}

protocol RegionDelegateProtocol {
   func didEnterRegion()
   func didExitRegion()
}
从这些功能中,您可以为CLregion创建自定义功能,例如监控多边形等

如何开始实施自定义区域

谢谢