我有以下代码
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用户提供向后兼容性。