【问题标题】:region Monitoring on iOSiOS上的区域监控
【发布时间】:2011-07-17 03:08:22
【问题描述】:

我只是想知道哪些设备支持区域监控?我知道 iPhone 4 支持,但 iPad 2 支持吗?

文档还建议:

For this reason, Core Location limits the number of regions that may be simultaneously monitored by a single application. 

使用此功能可以监控的区域限制是多少?

【问题讨论】:

    标签: iphone objective-c gps cllocationmanager


    【解决方案1】:

    我猜非 3G 设备目前不支持区域监控:我的测试表明它完全基于信号塔切换,因此其他定位服务(Wi-Fi 和 GPS)无法提供该功能.最好不要将代码建立在对特定硬件的假设之上:CLLocationManager 有一个 maximumRegionMonitoringDistance 属性,该属性将在不支持区域监控的设备上返回 -1

    【讨论】:

    • 感谢您的建议,我只是想知道此信息以决定是在我的应用程序上使用区域监控还是使用经典的显着ChangeLocation。我在苹果开发者论坛上问过,一位代表说 iPad 2 3G 上可以使用
    • 这在 iOS 8 SDK 中一定已经改变了,因为这对我来说永远不会返回 -1,如果你有同样的问题,请查看我的答案。
    【解决方案2】:

    iPad2 使用与 iPhone 和 iPad 1 相同的定位框架。它应该可以工作。

    我不确定限制是多少。

    【讨论】:

    • 软件 API 是框架,但硬件功能不同,这限制了非 3G 设备的功能。
    • Touch 也一样。问题是 iPad 2 是否支持区域监控,它在 API 的限制和设备的能力范围内支持。但同样,iPad 2 并没有改变 Core Location 的工作方式。
    【解决方案3】:

    我注意到 iPad2(没有 sim)和 iPod 没有成功添加区域。使用此代码来防止您的监控代码被运行在不支持 iOS8 SDK 中区域监控的设备上:

    if ([UIDevice currentDevice].systemVersion.integerValue >= 7 &&
        ![CLLocationManager isMonitoringAvailableForClass:CLRegion.class]) {
        return;
    }else if(![CLLocationManager regionMonitoringAvailable])
        return;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 2018-05-21
      • 2014-05-23
      • 1970-01-01
      • 2015-12-09
      • 2011-09-19
      • 1970-01-01
      相关资源
      最近更新 更多