我有以下代码

BOOL ios5 = [mapview respondsToSelector:@selector(setUserTrackingMode:animated:)];
if(ios5)
{
    if(compass && tracking)
        [mapview setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES];
    else if (tracking)
        [mapview setUserTrackingMode:MKUserTrackingModeFollow animated:YES];
    else
        [mapview setUserTrackingMode:MKUserTrackingModeNone animated:YES];
}
else
{
    // Do it the version 4.0 way
}


它会按预期运行,具体取决于我是否启用了指南针或跟踪标志并跟踪iOS 5中的用户位置。

但是,它也可以在我正在测试的另一台设备4.3.3版本中使用。它似乎对选择器作出响应,并且实际上与在iOS 5中一样。

这是因为该功能在iOS 4中存在但未公开,并且冒着该应用被拒绝的风险吗?

谁能对此有所启发?
谢谢
多尼

最佳答案

我相信您在通过使用该功能之前先对其进行检查是对的。不管您运行的是哪个版本,该API均已记录。通过这种方式,您可以向4.3用户提供向后兼容性。

10-08 18:44