2016-03-02 4 views
1

Я пытаюсь получить заголовок (направление, в котором телефон указывает) для iPhone.CLLocationManager заголовок не работает с iPhone 6s и 6s Plus

Я пытаюсь код ниже,

- (void)startHeadingEvents { 
    if (!self.locManager) { 
     CLLocationManager* theManager = [[[CLLocationManager alloc] init] autorelease]; 

     // Retain the object in a property. 
     self.locManager = theManager; 
     locManager.delegate = self; 
    } 

    // Start location services to get the true heading. 
    locManager.distanceFilter = 1000; 
    locManager.desiredAccuracy = kCLLocationAccuracyKilometer; 
    [locManager startUpdatingLocation]; 

    // Start heading updates. 
    if ([CLLocationManager headingAvailable]) { 
     locManager.headingFilter = 5; 
     [locManager startUpdatingHeading]; 
    } 
} 

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading: (CLHeading *)newHeading { 
    if (newHeading.headingAccuracy < 0) 
     return; 

    // Use the true heading if it is valid. 
    CLLocationDirection theHeading = ((newHeading.trueHeading > 0) ? 
     newHeading.trueHeading : newHeading.magneticHeading); 

    self.currentHeading = theHeading; 
    [self updateHeadingDisplays]; 
} 

Его похож на IOS библиотеки разработчиков и руководство по программированию Apple. Код всегда возвращает степень заголовка от 0 до 10 или от 355 до 359. Я не получаю значения между ними.

Подробнее, я получаю эту проблему только на iPhone 6S и iPhone 6S plus. В противном случае это отлично работает на iPhone 4S, 5, 5S, 6, 6 Plus. И все мои телефоны используют новейшую iOS.

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

Спасибо.

+0

Покажите мне вашу updateHeadingDisplaysMethod – user3182143

+0

я помочь вам показать мне свой полное кодирование – user3182143

+0

Я попробовал ваше кодирование, но я confusion.It не назвал didUpdateHeading: метод. – user3182143

ответ

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