iOS - 具有基于位置的警报的EKEvent

时间:2015-09-24 11:12:03

标签: ios calendar location eventkit ekevent

我正在创建一个“只是另一个任务管理器”的应用程序,它非常依赖于EventKit框架。

我想要做的是添加地理围栏警报功能。我做了一些研究,发现EKAlarm类根据文档正是我需要的。作为这些警报的容器,我正在使用EKEvent实例(而不是EKReminder) - 这是至关重要的,因为我希望我的所有任务都能在日历应用中显示应用。

文档说明如下:

  

虽然可以将启用地理围栏的警报应用于事件,但它们对于提醒更为实用。

很明显,那些支持地理围栏的警报可以与事件一起使用,但问题是我无法使它们工作 - 警报不会被启动。< / p>

以下是我用于创建警报的一些代码(它在Swift中,但我对Objective-C非常熟悉):

let structuredLocation = EKStructuredLocation(title: marker.title)
structuredLocation.geoLocation = CLLocation(latitude: marker.position.latitude, longitude: marker.position.longitude)
structuredLocation.radius = kGeofenceRadius
<...>
let alarm = EKAlarm()
alarm.structuredLocation = structuredLocation
alarm.proximity = .Enter
event.addAlarm(alarm)

在iOS 8中,如果我打开日历应用程序,我可以在警告部分中看到当我到达文本时创建的事件 - 您无法使用标准接口。在iOS 9下虽然有所不同:界面不再显示有关位置的信息,而是显示活动当天

EKEvent with location-based EKAlarm on iOS8 EKEvent with location-based EKAlarm on iOS9

有没有人知道如何让它发挥作用?

由于

0 个答案:

没有答案