在不显示 ios builtIn alertView 的情况下授予日历权限
Granting permission for the calendar without showing ios builtIn alertView
我正在使用此方法向用户询问日历权限 requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
但我想要的是当用户单击名为 GrantPermission
的 Button
时,权限应该是在没有显示 IOS 内置的 alertView
的情况下授予,有什么办法可以做到这一点?
我想这样做是因为当用户点击 Dont Allow
然后我显示 alertView
表示用户必须从设置中手动打开权限,然后当用户手动打开此权限时应用程序崩溃。
如果不显示本机警报视图,就无法授予权限,因为它提供了更高级别的安全性(没有它,开发人员只能以编程方式授予对所有内容的权限)。
如果您想避免陷入用户需要从“设置”应用手动授予权限的情况,您可以显示 "pre-permission" 警告,向用户提供一些信息,说明他们可能想要的原因允许它,然后实际询问系统权限,这将依次显示内置警报。
FWIW 这不是我的想法,也不是什么新鲜事。 This TechCrunch article 详细介绍了在 iOS 上请求权限的用户体验。
请注意,您仍然可能会遇到用户需要手动授予权限的情况 - 如果他们 "accept" 您的警报但拒绝实际的系统警报。在这种情况下,您将需要弄清楚您的应用崩溃的原因,也许 post 另一个与此相关的问题。
我正在使用此方法向用户询问日历权限 requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
但我想要的是当用户单击名为 GrantPermission
的 Button
时,权限应该是在没有显示 IOS 内置的 alertView
的情况下授予,有什么办法可以做到这一点?
我想这样做是因为当用户点击 Dont Allow
然后我显示 alertView
表示用户必须从设置中手动打开权限,然后当用户手动打开此权限时应用程序崩溃。
如果不显示本机警报视图,就无法授予权限,因为它提供了更高级别的安全性(没有它,开发人员只能以编程方式授予对所有内容的权限)。
如果您想避免陷入用户需要从“设置”应用手动授予权限的情况,您可以显示 "pre-permission" 警告,向用户提供一些信息,说明他们可能想要的原因允许它,然后实际询问系统权限,这将依次显示内置警报。
FWIW 这不是我的想法,也不是什么新鲜事。 This TechCrunch article 详细介绍了在 iOS 上请求权限的用户体验。
请注意,您仍然可能会遇到用户需要手动授予权限的情况 - 如果他们 "accept" 您的警报但拒绝实际的系统警报。在这种情况下,您将需要弄清楚您的应用崩溃的原因,也许 post 另一个与此相关的问题。