Aplicación de lanzamiento de recordatorios GEO

Estoy pensando en una aplicación que usaría los recordatorios GEO (los agregados en iOS5, Recordarme en una ubicación cuando me vaya/llegue). 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 esto posible?

Espero que entiendas mi objetivo. Gracias por adelantado

preguntado el 27 de julio de 12 a las 17:07

3 Respuestas

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

Respondido 28 Jul 12, 02:07

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 para CLLocationManagerDelegate, especialmente startMonitoringForRegion:. Lo que quieres hacer se llama "Geofencing". También puede encontrar más información en el Guía de reconocimiento de ubicación.

Respondido 28 Jul 12, 02:07

Aunque esto es útil, lo que pedí fue el lanzamiento automático de mi aplicación. Entonces +1, pero la respuesta aceptada es la respuesta de Bill Burgess. ¡Gracias por la información! - Juan m.

No hay problema. La forma en que funciona el inicio de la aplicación es que recibe una notificación local, como dice Bill. Es posible que su aplicación se active sin la interacción del usuario, momento en el que puede trabajar un poco. - rey nevan

Como soy nuevo en el desarrollo de iPhone, no sé cómo programar una aplicación, pero puedo ayudarlo con el disparador al llegar a una ubicación predefinida. aquí está el código.

1: importar CoreLocation.framework

2: en el archivo viewController.h, coloque debajo del código

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

3: controlador de vista.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

Respondido 20 Feb 13, 13:02

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.