Вопрос

Я подумываю о приложении, которое использовало бы ГЕО-напоминания (те, что добавлены в iOS5, напоминают мне о местоположении, когда я уезжаю / прибываю).Но мне нужно использовать эту функцию (фактически, только используя местоположение), чтобы получить текущее местоположение и сравнить его с местоположением, определенным моим приложением, и проверить, совпадает ли это местоположение или нет.Если текущее и определенное местоположение совпадают, запустите мое приложение.

Возможно ли это?

Я надеюсь, вы поймете мою цель.Заранее спасибо

Это было полезно?

Решение

Пока вы сможете контролировать свое местоположение с фона, имейте в виду, он не будет автоматически запустить ваше приложение.Вы можете использовать что-то вроде локальных уведомлений, чтобы подсказать пользователю открывать приложение.Но запуск с фона автоматически не вариант.По крайней мере, не одобренный App Store Approved.

Другие советы

Проверка текущего региона и определенного региона выполняется автоматически, когда вы устанавливаете регион для мониторинга.Лучше всего начать с прочтения документации для CLLocationManagerDelegate, особенно startMonitoringForRegion:.То, что вы хотите сделать, называется "Геозонирование".Вы также можете найти более подробную информацию в разделе Руководство по информированию о местоположении.

Как 'm new to iPhone Development Я не знаю, как программно обедать приложение, но я могу помочь вам с триггером по прибытии на предопределенное местоположение.Вот код.

1: импортировать CORELOCATION. CRAMEWORK

2: в ViewController.h Поместить файл ниже кода

#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
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top