Objective c 检查setMapType是否可用

Objective c 检查setMapType是否可用,objective-c,xcode,mapkit,ios9,Objective C,Xcode,Mapkit,Ios9,iOS 9新增了与立交桥相关的地图类型。在提供该地图类型之前,我想确保用户在iOS 9上 目前在XCODE 7中,它们的最高基数是: NSufStudioValueNo.BioSo883当然不起作用,因为8.4是最后8。x版本。他们既不提供8.4版,也不提供9.0版 我也不能使用respondsToSelector之类的东西,因为setMapType在所有版本中都有效,并且该值不作为该方法的一部分进行检查 我看到一些关于检查常量是否存在的帖子,在本例中是MKMapTypeHybridFlyove

iOS 9新增了与立交桥相关的地图类型。在提供该地图类型之前,我想确保用户在iOS 9上

目前在XCODE 7中,它们的最高基数是:<代码> NSufStudioValueNo.BioSo883当然不起作用,因为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.4可能仍然在8.x上运行的所有人都在运行……

以下是我用来解决检查OS版本问题的方法:

 NSOperatingSystemVersion version = [[NSProcessInfo processInfo]operatingSystemVersion];  

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