IOS - сбой Mapkit - это ошибка в xcode 4.2 и автоматический подсчет ссылок (ARC)? - PullRequest
0 голосов
/ 26 октября 2011

Я обнаружил очень странную проблему в MKMapView, которая, как мне кажется, может быть ошибкой в ​​новом xcode 4.2 и ARC (автоматический счетчик ссылок).

Я создал очень простой класс UIViewController: MapViewController, который реализуетпротокол:

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
@interface MapViewController : UIViewController <MKMapViewDelegate>
@property (strong, nonatomic) IBOutlet MKMapView *mapView;

Я использую файл xib для создания экземпляра карты и ссылки на его делегат, т.е. First Responder.

Ничего не добавлено в файл m, кроме автоматически сгенерированных методов, унаследованныхUIViewController.

Создание экземпляра MapViewController выглядит следующим образом:

MapViewController *mapView = [[MapViewController alloc]init];
[self.view addSubview:mapView.view];

Таким образом, происходит сбой программы при загрузке вида карты и прокручивании карты или увеличении / уменьшении.Main будет аварийно завершен с EXE_BAD_ACCESS, что означает, что он обращается к недопустимой памяти.

Я профилировал его с помощью инструментов и проверил на наличие зомби, и выясняется, что просмотр карты перевыпускает объект, и он вылетает - как видно из img.

Журнал зомби http://dl.dropbox.com/u/2250562/xcode4.2-Mapview-Crash.png! [Журнал зомби] [1]

Я не думаю, что я делаю что-то не так, поэтому я хотел бы знать, если кто-то из вас может иметьидея решения или хотите проверить, если вы можете воспроизвести тот же результат.Моим следующим шагом будет тестирование в новом проекте без ARC, чтобы увидеть, меняет ли это проблему.

Информация о системе: Xcode 4.2 Сборка 4D199 с использованием ARC -> Автоматический подсчет ссылок

Приложение протестировано вСимулятор для IOS 4.3

1 Ответ

1 голос
/ 28 октября 2011

У меня работает без нареканий. Вы связали MapKit.framework с вашей целью?

...