2015-04-05 11 views
1

Как написано, мое приложение падает сразу после его запуска. Я действительно не знаю, что делать. Спасибо за любую помощь. Вот код:Мое приложение аварийно завершает работу после запуска

#import "ViewController.h" 
@import CoreLocation; 

@interface ViewController() <CLLocationManagerDelegate> 
@property (strong, nonatomic) CLLocationManager *locationManager; 
@property (weak, nonatomic) IBOutlet UILabel *location; 
@property (weak, nonatomic) IBOutlet UILabel *date; 
@end 

@implementation ViewController 
-(void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.locationManager = [[CLLocationManager alloc] init]; 
    self.locationManager.delegate = self; 

    if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) { 
     [self.locationManager requestWhenInUseAuthorization]; 
    } 

    [self.locationManager startUpdatingLocation]; 

    //date 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

    [dateFormatter setDateFormat:@"MMMM d, YYYY"]; 

    NSString *dateString = [dateFormatter stringFromDate:[NSDate date]]; 
    NSLog(@"%@", dateString); 
    self.date.text = (@"%@", dateString); 
} 

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations 
{ 
    NSLog(@"%@", [locations lastObject]); 
    self.location.text = (@"%@", [locations lastObject]); 
} 

@end 

После аварии он показывает это: http://i.stack.imgur.com/k0eVO.png

+1

Можете ли вы показать нам, что печатается в отладчике? – Priyatham51

+0

Вы посмотрели http://stackoverflow.com/questions/24850128/ios-8-requestwheninuseauthorization-no-popup? – luk2302

+0

подключить lldb и проверить обратную трассировку – Wingzero

ответ

0

Ваш код не является полным вы можете проверить его и отправить еще раз

Вы получили

@selector(requestWhenInUseAuthorization) 

и вы не установили функцию requestWhenInUseAuthorization

Внутри какого метода вы размещаете этот ниже код. Вы разместили его ниже viewDidLoad, но он не используется ни в каких методах. Проверьте код правильно

[self.locationManager startUpdatingLocation]; 

//date 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

[dateFormatter setDateFormat:@"MMMM d, YYYY"]; 

NSString *dateString = [dateFormatter stringFromDate:[NSDate date]]; 
NSLog(@"%@", dateString); 
self.date.text = (@"%@", dateString); 
} 
+0

Я тоже был сбит с толку, но это была просто проблема форматирования, код на самом деле правильный и относительно селектора: он не должен его определять, он вызывая его на CLLocationManager, а не на себе – luk2302

+0

Все работало нормально, но после добавления 'self.date.text = (@"% @ ", dateString);' line это больше не работало. Я попытался удалить эту строку и снова запустить, но ничего не получилось. – pettyBright

+0

Пожалуйста, удалите этот ответ, так как он не содержит никакого релевантного контента. – luk2302

0

применять исключение точки останова в вашем приложении и попробуйте еще раз .Это покажет вам, где именно крах

Смежные вопросы