我正在使用此方法向用户询问日历权限requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
,但我想要的是当用户点击Button
命名为GrantPermission
时,应该授予权限显示内置IOS的alertView
,有没有办法做到这一点?
我想这样做,因为当用户点击Dont Allow
时,我会显示alertView
,表示用户必须手动启用设置权限,当用户手动启用此权限时,应用崩溃。
答案 0 :(得分:0)
没有显示本机警报视图就无法授予权限,因为它提供了更高级别的安全性(没有开发人员只是以编程方式授予对所有内容的权限)。
如果您希望减少进入用户需要从“设置”应用程序手动授予权限的情况,您可以显示“预先许可”警报,其中向用户提供一些信息,说明他们可能希望允许的原因然后实际询问系统是否允许显示内置警报。
FWIW这不是我的想法,也不是新的想法。 This TechCrunch article详细介绍了在iOS上请求权限的用户体验。
请注意,您仍然可以在用户需要手动授予权限的情况下结束 - 如果他们“接受”您的警报但拒绝实际的系统警报。在这种情况下,您需要弄清楚您的应用程序崩溃的原因,或者发布有关该问题的其他问题。