Chapter 9. Core Location, iBeacon, and Maps

9.0. Introduction

The Core Location and Map Kit frameworks can be used to create location-aware and map-based applications. The Core Location framework uses the device’s internal hardware to determine the current location of the device. The Map Kit framework enables your application to display maps to your users, put custom annotations on the maps, and so on. The availability of location services purely from a programming perspective depends on the availability of hardware on the device; if the hardware is there, it must be enabled and switched on for the Map Kit and Core Location frameworks to work. An iOS device with GPS services can use 2G, EDGE, 3G, 4G, and other technologies to determine the user’s location. Presently, almost all iOS devices support location services, but it is good programming practice to check the availability of location services before starting to use them, as we cannot predict whether in the future Apple will release a device with all hardware required to support location services.

In order to start using Core Location and Map Kit, all you have to do is to import these frameworks into your code like so:

import CoreLocation
import MapKit

9.1. Detecting Which Floor the User Is on in a Building

Problem

You want your application to be able to detect not only the user’s location, but also which floor they are on if they are inside a large and densely inhabited structure, such as the Empire State Building.

Solution

Use an ...

Get iOS 8 Swift Programming Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.