我正在实现从我的应用程序中添加和删除iOS日历中用户创建的事件的功能.我已经为用户创建活动时编写了访问日历的权限请求,并且它运行良好.我将事件保存在服务器上,我允许他们稍后删除该事件,当发生这种情况时,我也会从日历中删除该事件.有人可以在此应用程序之外创建事件,打开应用程序,然后删除从服务器获取的约会.在这种情况下,日历中没有事件存储,但它仍然需要查看是否存在尝试删除它的事件,并且它失败了,因为在这种情况下我没有要求用户允许访问日历.
但是我不想在删除时要求用户获得权限,因为用户不知道应用程序为什么要访问日历,因为他们从未知道它可以将约会保存到日历 – 他们在网站上创建了它,并且他们没有理由在那个时候批准它,因为它无论如何都不会做任何事情.
因此,我的问题是,是否可以确定您的应用程序当前是否可以访问日历而不提出请求,这将导致在未授予权限的情况下向用户显示自动警报 – 请参阅下面的请求代码?我只是想搜索事件,试图删除它只有我已经有权访问日历,如果我没有,我不会尝试删除任何东西.
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted,NSError *error) { if (granted) { //already have access or user tapped on Allow in popup } ...
解决方法
您可以使用[EKEventStore authorizationStatusForEntityType:EKEntityTypeEvent]
您需要检查此方法是否返回EKAuthorizationStatusAuthorized以断定您的应用当前可以访问给定实体类型的日历.
更多可以在课程refence here中找到
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。