我正在制作一个应用程序,其功能允许用户创建基于位置的通知,以便在应用程序到达/离开某个位置时打开/关闭应用程序。
创建提醒(如第一张图片所示),但在到达/离开时不会触发。
另一方面,如果用户点击提醒,它会添加地址(如图2所示)并从那里开始触发
我想知道是否有办法让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];
答案 0 :(得分:3)
问题是您未能设置EKStructuredLocation的geolocation
和radius
。它只是一个标题。这还不足以告诉警报到底应该在哪里!
示例:
location.geoLocation =
[[CLLocation alloc] initWithLatitude:latit longitude:longit];
location.radius = 10*1000; // metres
答案 1 :(得分:0)
请参阅CLLocationManager -startMonitoringForRegion:
和CLRegion
班级参考。