Pregunta

Estoy pensando en una aplicación que usaría los recordatorios GEO (los agregados en iOS5, Recuérdame en una ubicación cuando salgo o llego).Pero necesito usar esta función (de hecho, solo usar la ubicación) para obtener la ubicación actual y compararla con la ubicación definida por mi aplicación y verificar si es la misma ubicación o no.Si la ubicación actual y la definida son las mismas, inicie mi aplicación.

es posible?

Espero que entiendas mi objetivo.gracias de antemano

¿Fue útil?

Solución

Si bien podrá controlar su ubicación desde el fondo, tenga en cuenta, no iniciará automáticamente su aplicación.Puede usar algo como las notificaciones locales para solicitar al usuario que abra la aplicación.Pero el lanzamiento desde el fondo automáticamente no es una opción.Al menos no una opción aprobada por la tienda de aplicaciones.

Otros consejos

La verificación de la región actual y la región definida se realiza automáticamente cuando configura una región para monitorear.El mejor lugar para comenzar es leyendo los documentos de CLLocationManagerDelegate, especialmente startMonitoringForRegion:.Lo que quieres hacer se llama "Geofencing".También puedes encontrar más información en el Guía de reconocimiento de ubicación.

Como 'M Nuevo en el desarrollo del iPhone No sé cómo sacar la aplicación de una aplicación programáticamente, pero puedo ayudarlo con el gatillo al llegar a la ubicación predefinida.Aquí está el código.

1: Importar Corelocation.Framework

2: en ViewController.h Coloque el siguiente código

#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
@interface ViewController : UIViewController<CLLocationManagerDelegate>
@end

3: inviewcontroller.m

#import "ViewController.h"
@interface ViewController (){
CLLocationManager *locationManager;
CLRegion *mexicoBoundary;
}

@end

@implementation ViewController

- (void)viewDidLoad
{
   [super viewDidLoad];

locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDistanceFilter:kCLDistanceFilterNone];



CLLocationCoordinate2D regionCords ;
//19.432608,-99.133208 lat, lon for mexico city
regionCords=CLLocationCoordinate2DMake(19.432608,-99.133208);
//5000 below, is in meters-radius 
mexicoBoundary =
[[CLRegion alloc]initCircularRegionWithCenter:regionCords
                                       radius:5000.0
                                   identifier:@"mexico_Day"];

[locationManager startMonitoringForRegion:mexicoBoundary];

}

-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"%@: %@", @"region entered", region.identifier);

}

-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"%@: %@", @"region exited", region.identifier);
}



- (void)didReceiveMemoryWarning
{
  [super didReceiveMemoryWarning];
  // Dispose of any resources that can be recreated.
}

@end

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top