在我的应用中,我想在我的UIViewController
之一中使用MKMapKit
显示用户位置。因此,当用户选择此视图控制器时,系统会询问他们是允许还是不允许。如果用户选择允许,则一切正常。如果他们选择不允许,则永远不会再次要求用户允许。
实际上我想要的是,当用户选择在他们使用我的应用时第一次不允许时,应该要求他们再次选择允许或不允许下次他们使用该应用。那我该怎么做呢?当用户选择允许选择时间时(第一次点击不允许),我的应用程序显示用户位置。
即使在一些S.O问题中,许多人也建议用户在打开应用程序时会被提升为允许或不允许提醒。但对我来说,它要求首次使用应用程序。
请分享您的想法。谢谢。
答案 0 :(得分:1)
如果用户第一次关闭了您应用的位置服务,则每次尝试获取其位置时,您都会知道应用。您可以检查用户是否已授予您阅读其位置的权限。如果他们没有,则会再次提示他们为您的应用启用位置服务。
引用Apple的文档(found here)
建议您始终调用locationServicesEnabled 在尝试启动之前CLLocationManager的类方法 标准或重大变化的位置服务。 (在iOS 3.x和 之前,检查locationServicesEnabled属性的值 相反。)如果此类方法返回YES,则可以开始定位 按计划提供服务。如果它返回NO并且您尝试启动 无论如何,系统会提示用户确认 是否应重新启用位置服务。鉴于该位置 服务很可能是故意禁用的,用户可能没有 欢迎这个提示。