Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 didEnterRegion和DiDerEstate都调用了_Ios_Geofencing - Fatal编程技术网

Ios didEnterRegion和DiDerEstate都调用了

Ios didEnterRegion和DiDerEstate都调用了,ios,geofencing,Ios,Geofencing,我正在我的应用程序中使用区域监视器功能。我希望在用户进入该区域时以及他是否已经在该位置时得到通知 因此实现了位置管理器的didEnterRegion和didenterminestate 现在的问题是,当我进入土工围栏区域时,它会通知我两次。一个来自迪登特地区,另一个来自迪登特地区 最好的解决方案是什么?输入时,我只需通知一次。请仅使用“DidEstate”。当您进入/退出区域时,将调用它。在“房地产”中使用以下代码 要确定当前位置,请使用“didStartMonitoringFor”。此函数将在

我正在我的应用程序中使用区域监视器功能。我希望在用户进入该区域时以及他是否已经在该位置时得到通知

因此实现了位置管理器的
didEnterRegion
didenterminestate

现在的问题是,当我进入土工围栏区域时,它会通知我两次。一个来自迪登特地区,另一个来自迪登特地区

最好的解决方案是什么?输入时,我只需通知一次。

请仅使用“DidEstate”。当您进入/退出区域时,将调用它。在“房地产”中使用以下代码

要确定当前位置,请使用“didStartMonitoringFor”。此函数将在调用以下行后执行

locationManager.startMonitoring(for: region)
在“didStartMonitoringFor”中,使用以下行:

locationManager.requestState(for: region)

这将再次调用“DidDetermingEstate”,并给出您当前的状态“内部/外部”

发布您所有与位置管理器相关的delagate方法实现代码。@KrishnarjunBanoth我只是使用Localnotification触发警报。在本例中,它触发了两次,一次来自enter,另一次来自determineState。实际上,这是位置管理器本身的常见行为。第一个委托方法调用DidDetermingEstate,然后通过调用didEnterRegion来符合它,只需将您的逻辑放在didEnterRegion中即可。因此,当进入region时,状态在内部的DidDetermingEstate和didEnterRegion都会被调用?
locationManager.requestState(for: region)