Проблемы с картой iOS 6 с помощью MKUserTrackingModeFollowWithHeading

Я пытаюсь решить две проблемы сMKUserTrackingModeFollowWithHeading в iOS 6:

MKUserTrackingModeFollowWithHeading работает ненадолго, но нервно и возвращаетсяMKUserTrackingModeFollow почти сразу, особенно при высоких уровнях масштабирования.

Приложение иногда дает сбой при многократном измененииMKUserTrackingMode: Я получилEXC_BAD_ACCESS в основной теме, без дополнительной информации. Это трудно воспроизвести, но это происходило неоднократно.

Есть мысли о том, что может быть причиной этого? Это похоже на ошибку, но в собственном приложении Apple «Карты» такого поведения нет.

Чтобы изолировать проблемы, я создал приложение с одним представлением сMKMapView иUIToolbar (настроенный в .xib), к которому я добавляюMKUserTrackingBarButtonItem,UIViewController действует как<MKMapViewDelegate>, Вот полный код реализации:

#import "ViewController.h"

@implementation ViewController

@synthesize mapView, toolbar;

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Add MKUserTrackingBarButtonItem to toolbar
    MKUserTrackingBarButtonItem *trackButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.mapView];
    [toolbar setItems:[NSArray arrayWithObjects:trackButton, nil] animated:YES];
}


- (void)mapView:(MKMapView *)mapView didChangeUserTrackingMode:(MKUserTrackingMode)mode animated:(BOOL)animated
{
    // Log MKUserTrackingMode change
    NSString *modeType = (mode == 0) ? @"None" : ((mode == 1) ? @"Follow" : @"FollowWithHeading");
    NSLog(@"MKUserTrackingMode changed to: %@", modeType);
}

@end

Ответы на вопрос(2)

Ваш ответ на вопрос