地理围栏didEnterRegion,didExitRegion函数未在iPhone 5S iOS8.1中调用

Shu Zhang

我整天调试了一下,代理人根本没有接到电话。

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region

好吧,这是我需要监视器的标准代码。使用CoreLocation.framework。

[locationManager startMonitoringForRegion:geofence];

并将它们注册到我的列表中。

<key>NSLocationAlwaysUsageDescription</key>
<string>Lugang</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Lugang</string>

启用后后台应用程序刷新,但是我没有看到我的应用程序。

我曾尝试在LocationManager实例中打印我的monitoredRegions,并且有我的受监视区域。

NSLog(@"%@" ,locationManager.monitoredRegions);

并且regionMonitoringAvailable为true。

NSLog(@"%d" , [CLLocationManager regionMonitoringAvailable] );

在iOS 8中,我曾要求requestAlwaysAuthorization

[locationManager requestAlwaysAuthorization];

我尝试了三种状态,前景中的应用程序,背景中的应用程序,应用程序未激活。这些状态都没有被调用。

-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

根本没有任何错误。

我尝试过

[locationManager requestStateForRegion:geofence];

工作正常。

- (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region

确实在我的requestStateForRegion中触发了。

我不知道让didEnterRegion没有被调用是什么意思,我知道在iOS 7及更高版本中设备可以工作,但是我现在没有这样的设备来作证。

也许requestStateForRegion可以满足我的要求,但是我仍然无法弄清楚DidEnterRegion是如何工作的。这些都不会触发任何错误消息来告诉开发人员进行调试。

杰克·帕托里亚

我遇到同样的问题,以下是我遵循的步骤并取得成功。

  • 在中添加地理围栏数组数据之后locationmanager使用下面的代码相同。

    for (CLRegion *monitored in [locationManagerGeofence monitoredRegions])
     {
         [locationManagerGeofence stopMonitoringForRegion:monitored];
     }
     self.geofencesArray = [NSMutableArray arrayWithArray:[self buildGeofenceData]];
     if([CLLocationManager regionMonitoringAvailable])
     {
         for (CLRegion *region in self.geofencesArray)
         {
             [locationManagerGeofence startMonitoringForRegion:region desiredAccuracy:kCLLocationAccuracyBest];
         }
     }
     else
     {
         [BB_Global displayAlertWithTitle:@"" message:@"This app requires region monitoring features which are unavailable on this device."];
     }
    
  • 确保您的wifi处于开启状态。
  • 使用下面的委托检查您开始监视的区域。

    -(void)locationManager:(CLLocationManager *)manager didStartMonitoringForRegion:(CLRegion *)region
    {
        NSLog(@"Started monitoring %@ region", region.identifier);
    }
    
  • 将这两个委托方法用于地理围栏。1)DidEnter2)DidExit

  • 用一些运动或其他地方测试您的设备(确保将地理围栏设置为半径100米的其他位置)。对于相同的,您可以在DidEnterDidExit方法中实现本地通知,因此无需调试。一旦调用您的方法,该时间本地通知就会触发。
  • 获得成功:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

didEnterRegion和didExitRegion在iOS8中不起作用

来自分类Dev

didEnterRegion和didExitRegion在iOS8中不起作用

来自分类Dev

iPhone 5S上的iOS 7.1.2中未出现UITableViewCells

来自分类Dev

除XCode 6.1中的iPhone 5s外,没有iOS模拟器设备

来自分类Dev

iOS OpenGLES无法在iPhone 5s +上渲染图像

来自分类Dev

如何在iOS8的viewDidLoad()中调用此函数

来自分类Dev

Xcode 6 GM和iPhone 5s(iOS 8 GM)-0xE8000070

来自分类Dev

iOS 8代码可在iPhone 5s上运行,但不能在iPhone 5上运行

来自分类Dev

警报消息未在IOS8中旋转

来自分类Dev

UILabel未在iOS8中显示子视图

来自分类Dev

离子ios应用程序停留在初始屏幕上-在模拟器中工作而不是在iPhone 5s设备上

来自分类Dev

Iphone 5s iOS 8.1.2从XIB加载视图控制器时崩溃

来自分类Dev

在使用iOS 7的iPhone 5s上写入/ dev / null时,AVAudioRecorder停止工作

来自分类Dev

Xcode 6.1无法检测到运行iOS 8.1的设备iPhone 5s

来自分类Dev

如何在iOS 7.1.1 / iPhone 5s上更改导航栏按钮的颜色

来自分类Dev

PouchDB无法在iOS 9-iPhone 5S上同步

来自分类Dev

Xamarin.Forms和App Center:无法在iPhone 5s上安装iOS版本

来自分类Dev

如何在iOS 7.1.1 / iPhone 5s上更改导航栏按钮的颜色

来自分类Dev

UIReferenceLibraryViewController hasDictionaryDefinition仅在iPhone 5s的Simulator中起作用

来自分类Dev

无法在新的XCode6.1中运行iPhone 5s模拟器

来自分类Dev

Swift - 在 iPhone 5s 中从中间开始滚动视图

来自分类Dev

可以在应用代码中调用iOS8 InvertColors函数吗?

来自分类Dev

iPhone 5s的偏航范围

来自分类Dev

ios8中的popToRootViewControllerAnimated

来自分类Dev

iOS8中的ModalViewController

来自分类Dev

应用未在iPhone 5s上安装

来自分类Dev

应用未在iPhone 5s上安装

来自分类Dev

iOS-App可以在iPhone 5s上运行,但不能在iPhone SE上运行

来自分类Dev

条形分段控件在iOS7 iphone 5s真实设备上的工具栏中有填充

Related 相关文章

  1. 1

    didEnterRegion和didExitRegion在iOS8中不起作用

  2. 2

    didEnterRegion和didExitRegion在iOS8中不起作用

  3. 3

    iPhone 5S上的iOS 7.1.2中未出现UITableViewCells

  4. 4

    除XCode 6.1中的iPhone 5s外,没有iOS模拟器设备

  5. 5

    iOS OpenGLES无法在iPhone 5s +上渲染图像

  6. 6

    如何在iOS8的viewDidLoad()中调用此函数

  7. 7

    Xcode 6 GM和iPhone 5s(iOS 8 GM)-0xE8000070

  8. 8

    iOS 8代码可在iPhone 5s上运行,但不能在iPhone 5上运行

  9. 9

    警报消息未在IOS8中旋转

  10. 10

    UILabel未在iOS8中显示子视图

  11. 11

    离子ios应用程序停留在初始屏幕上-在模拟器中工作而不是在iPhone 5s设备上

  12. 12

    Iphone 5s iOS 8.1.2从XIB加载视图控制器时崩溃

  13. 13

    在使用iOS 7的iPhone 5s上写入/ dev / null时,AVAudioRecorder停止工作

  14. 14

    Xcode 6.1无法检测到运行iOS 8.1的设备iPhone 5s

  15. 15

    如何在iOS 7.1.1 / iPhone 5s上更改导航栏按钮的颜色

  16. 16

    PouchDB无法在iOS 9-iPhone 5S上同步

  17. 17

    Xamarin.Forms和App Center:无法在iPhone 5s上安装iOS版本

  18. 18

    如何在iOS 7.1.1 / iPhone 5s上更改导航栏按钮的颜色

  19. 19

    UIReferenceLibraryViewController hasDictionaryDefinition仅在iPhone 5s的Simulator中起作用

  20. 20

    无法在新的XCode6.1中运行iPhone 5s模拟器

  21. 21

    Swift - 在 iPhone 5s 中从中间开始滚动视图

  22. 22

    可以在应用代码中调用iOS8 InvertColors函数吗?

  23. 23

    iPhone 5s的偏航范围

  24. 24

    ios8中的popToRootViewControllerAnimated

  25. 25

    iOS8中的ModalViewController

  26. 26

    应用未在iPhone 5s上安装

  27. 27

    应用未在iPhone 5s上安装

  28. 28

    iOS-App可以在iPhone 5s上运行,但不能在iPhone SE上运行

  29. 29

    条形分段控件在iOS7 iphone 5s真实设备上的工具栏中有填充

热门标签

归档