iOS基于位置的提醒

时间:2013-03-25 13:38:38

标签: iphone ios core-location reminders ekeventkit

我正在制作一个应用程序,其功能允许用户创建基于位置的通知,以便在应用程序到达/离开某个位置时打开/关闭应用程序。

创建提醒(如第一张图片所示),但在到达/离开时不会触发。 enter image description here

另一方面,如果用户点击提醒,它会添加地址(如图2所示)并从那里开始触发 enter image description here

我想知道是否有办法让Reminder应用识别地址或任何其他建议,这可能有助于我解决这个特殊问题。

提前谢谢你,

BR, 韩国

我使用的代码是:

EKReminder *reminder = [EKReminder reminderWithEventStore:_eventStore];
reminder.calendar = [_eventStore defaultCalendarForNewReminders];

EKStructuredLocation *location;
NSError *error = nil;
EKAlarm *alarm = [[EKAlarm alloc]init];
reminder.title = @"Turn off Test App";
location = [EKStructuredLocation locationWithTitle:self.addressTextField.text];
[self.addressTextField resignFirstResponder];
alarm.proximity = EKAlarmProximityEnter;
alarm.structuredLocation = location;
[reminder addAlarm:alarm];

[_eventStore saveReminder:reminder commit:YES error:&error];

2 个答案:

答案 0 :(得分:3)

问题是您未能设置EKStructuredLocation的geolocationradius。它只是一个标题。这还不足以告诉警报到底应该在哪里!

示例:

location.geoLocation =
    [[CLLocation alloc] initWithLatitude:latit longitude:longit];
location.radius = 10*1000; // metres

答案 1 :(得分:0)

请参阅CLLocationManager -startMonitoringForRegion:CLRegion班级参考。