MapKit repsondsToSelector для setUserTrackingMode в IOS 4.3.3 - PullRequest
1 голос
/ 01 февраля 2012

У меня есть следующий код

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, но не была обнародована, и я рискую отклонить приложение по этой причине?

Кто-нибудь может пролить свет на это?спасибо Дони

1 Ответ

1 голос
/ 01 февраля 2012

Я считаю, что вы делаете все правильно, проверив функциональность перед использованием.Неважно, на какой версии вы работаете, этот API уже задокументирован.Делая это таким образом, вы обеспечиваете обратную совместимость для ваших пользователей 4.3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...