Skip to Content
Programming iOS 4
book

Programming iOS 4

by Matt Neuburg
May 2011
Beginner
834 pages
25h 19m
English
O'Reilly Media, Inc.
Content preview from Programming iOS 4

Heading and Course

For appropriately equipped devices, Core Location also supports use of the magnetometer to determine which way the device is facing (its heading) and the GPS to determine which way it is moving (its course).

In this example, I’ll take advantage of the magnetometer and use the device as a compass. The headingFilter setting is to prevent us from being bombarded constantly with readings. For best results, the device should be held level (like a tabletop, or a compass); I have not changed the headingOrientation property, so the reported heading will then be the direction that the top of the device (the end away from the Home button) is pointing:

CLLocationManager* lm = [[CLLocationManager alloc] init];
self.locman = lm;
[lm release];
self.locman.delegate = self;
self.locman.headingFilter = 3;
[self.locman startUpdatingHeading];

Readings arrive as messages to the delegate. I’ll simply log our magnetic heading along with a rough corresponding cardinal direction. I choose to use the magnetic heading (magneticHeading) rather than the true heading (trueHeading) because, as the documentation explains, the latter can be calculated correctly only if we are getting location updates as well as heading updates:

- (void) locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading { CGFloat h = newHeading.magneticHeading; NSString* dir = @"N"; NSArray* cards = [NSArray arrayWithObjects: @"N", @"NE", @"E", @"SE", @"S", @"SW", @"W", @"NW", nil]; for (int i ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Programming iOS 13

Programming iOS 13

Matt Neuburg
iOS 7 Programming Cookbook

iOS 7 Programming Cookbook

Vandad Nahavandipoor
Objective-C for Absolute Beginners: iPhone, iPad and Mac Programming Made Easy

Objective-C for Absolute Beginners: iPhone, iPad and Mac Programming Made Easy

Stefan Kaczmarek, Brad Lees, Gary Bennett, Mitch Fisher

Publisher Resources

ISBN: 9781449397302Errata