Question

Je pense à une application qui utiliserait les rappels GEO (ceux ajoutés dans iOS5, rappelez-moi à un emplacement lorsque je pars/arrive).Mais j'ai besoin d'utiliser cette fonctionnalité (en fait, en utilisant uniquement l'emplacement) pour obtenir l'emplacement actuel et le comparer avec l'emplacement défini par mon application et vérifier s'il s'agit du même emplacement ou non.Si l'emplacement actuel et l'emplacement défini sont les mêmes, lancez mon application.

Est-ce possible?

J'espère que vous comprenez mon objectif.Merci d'avance

Était-ce utile?

La solution

Bien que vous puissiez surveiller votre emplacement de l'arrière-plan, gardez à l'esprit, il ne lancera pas automatiquement votre application.Vous pouvez utiliser quelque chose comme des notifications locales pour inviter l'utilisateur à ouvrir l'application.Mais le lancement de l'arrière-plan n'est pas automatiquement une option.Au moins une option approuvée par App Store.

Autres conseils

La vérification de la région actuelle et de la région définie est effectuée automatiquement lorsque vous définissez une région à surveiller.Le meilleur endroit pour commencer est de lire la documentation pour CLLocationManagerDelegate, en particulier startMonitoringForRegion:.La chose que vous voulez faire s’appelle « Geofencing ».Vous pouvez également trouver plus d'informations dans le Guide de connaissance de l'emplacement.

comme 'M NOUVEAU DU DÉVELOPPEMENT IPHOPHIQUE Je ne sais pas comment déjeuner programmable une application mais je peux vous aider avec la gâchette à l'arrivée à l'emplacement prédéfini.Voici le code.

1: importer corelocation.framework

2: Dans ViewController.H Placez le fichier ci-dessous Code

#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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top