¿Cómo construir una aplicación de iPhone basada en la ubicación?

La API de ubicación principal de Apple está hecha para esto.
Es posible que necesite un servidor para coordinar su aplicación, en función de lo que hace. Google AppEngine es excelente para esto.

Aquí hay un código para Objective-C para comenzar:

@implementation LocationController
@synthesize locationManager;

– (id) init
{
self = [superinicio];
if (self! = nil)
{
self.locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self; // envía actualizaciones a ti mismo
}
volver a sí mismo;
}

// función delagate llamada por CLLocationManager
– (nulo) locationManager: (CLLocationManager *) administrador
didUpdateToLocation: (CLLocation *) newLocation
fromLocation: (CLLocation *) oldLocation
{
// haz lo que quieras con la ubicación “newLocation”, como iniciar sesión:
NSLog (@ “ubicación:% @”, [descripción de la nueva ubicación]);
}

// función delagate llamada por CLLocationManager
– (nulo) locationManager: (CLLocationManager *) administrador
didFailWithError: error (NSError *)
{
// haz lo que tengas que hacer cuando haya un error.
NSLog (@ “Error:% @”, [descripción del error]);
}

// esta es una función personalizada que hice que comienza en locationManager,
// que a su vez sigue llamando a las funciones de retraso cuando sea necesario
– (nulo) startUpdates
{
[locationManager startUpdatingLocation];
}

– (nulo) dealloc
{
[versión de locationManager];
[super dealloc];
}

@fin

Ubicación central, MapBox.

Introducción a MapKit en iOS 6 Tutorial

Mapbox iOS SDK | Mapbox

Referencia del marco de MapKit

En una aplicación Xojo iOS, simplemente arrastre el control iOSLocation al diseño, habilítelo y luego coloque el código en el controlador de eventos LocationChanged para recibir una notificación cuando la ubicación cambie (con los valores de ubicación suministrados como parámetros).