Преобразованный в ARC App вылетает на любом методе iPhone - PullRequest
1 голос
/ 05 ноября 2011

Я преобразовал свое приложение в ARC и удалил все ошибки, возникшие до выпуска.Он запускается, но вылетает (EXC_BAD_ACCESS), как только я вызываю какой-либо метод (все из которых прикреплены к кнопкам UIB).Я также заметил, что он спросит, разрешит ли пользователь приложению использовать местоположение пользователя, но предупреждение исчезнет, ​​прежде чем пользователь сможет ответить «да» или «нет».

Мне кажется, что есть некоторые очень простые настройкиЯ пропускаю это.

Вот первый вызванный метод, он не позволит пользователю фактически сказать, разрешат ли они услуги определения местоположения.Сигнальные огни затем исчезают.Помогает ли это чьему-либо диагнозу?

-(void)startLocation
    {
        locationManager = [[CLLocationManager alloc] init];
        locationManager.delegate = self;
        locationManager.desiredAccuracy = kCLLocationAccuracyBest;
        [locationManager startUpdatingLocation];
    }

Кроме того, вот мой метод didFinishLaunchingWithOptions

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    UINavigationController *nav = [[UINavigationController alloc] init];
    StartPageViewController *start = [[StartPageViewController alloc]init];
    NSManagedObjectContext *context = [self managedObjectContext];

    if (!context) 
    {
        // Handle the error.
    }

    start.managedObjectContext = context;
    nav.viewControllers = [NSArray arrayWithObjects:start, nil];

    [_window addSubview:[nav view]];
    [self.window makeKeyAndVisible];
    return YES;

}

Ответы [ 2 ]

0 голосов
/ 06 ноября 2011

Все, что мне нужно было изменить (пока):

 self.window.rootViewController = nav;

вместо:

[_window addSubview:[nav view]];
0 голосов
/ 05 ноября 2011

Попробуйте сохранить свой навигационный контроллер, сделав его сильным свойством для вашего делегата.

В настоящий момент я не вижу кода, который бы заставил ARC не выпускать nav в концеметод.Это выпустит start, что выпустит context.

...