ios – 确定您的应用是否可以访问日历而不启动请求?

前端之家收集整理的这篇文章主要介绍了ios – 确定您的应用是否可以访问日历而不启动请求?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在实现从我的应用程序中添加删除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中找到

猜你在找的iOS相关文章