检查setMapType可用性

时间:2015-09-19 20:10:05

标签: objective-c xcode mapkit ios9

使用iOS 9添加了与天桥有关的新地图类型。在提供该地图类型之前,我想确保用户在iOS 9上。

目前在Xcode 7中,他们拥有的最高基础数字是:NSFoundationVersionNumber_iOS_8_3当然,8.4不是最后的8.x版本。他们不提供8.4或9.0。

我也不能使用像respondsToSelector这样的东西,因为setMapType在所有版本中都有效,并且该值不会作为此方法的一部分进行检查。

我看到一些关于检查常量是否存在的帖子,在这种情况下会MKMapTypeHybridFlyover,但这也不起作用。

这里最好用什么来查看用户是否可以访问此地图类型?

更新:我在iOS 8.4和iOS 9下查看MKMapTypeHybridFlyover的值,在两种情况下都显示4(至少在SIM卡上)。所以我不能使用它的值或缺乏来确定它是否受支持。这让我回到了检查iOS版本,但如上所述,提供的地板是8.3,这意味着它不会在8.4工作,可能每个仍在8.x上的人正在运行......

1 个答案:

答案 0 :(得分:0)

以下是我用来检查操作系统版本的问题:

 NSOperatingSystemVersion version = [[NSProcessInfo processInfo]operatingSystemVersion];  

    if (version.majorVersion > 8)  
       ....  
    else  
        ....