2

在我的应用程序中,我想在其中一个UIViewController用途中显示用户位置。因此MKMapKit,当用户选择此视图控制器时,将询问他们是否允许。如果用户选择允许,那么一切都很好。如果他们选择不允许,则永远不会再次询问用户是否允许。

实际上我想要的是,当用户第一次使用我的应用程序时选择不允许,他们应该被要求再次选择允许或不允许他们下次使用该应用程序时。那么我该如何实现呢?当用户选择允许选择时间(他们第一次单击不允许)时,我的应用程序会显示用户位置。

即使在一些 SO 问题中,许多人也建议用户在打开应用程序时会被提升为允许或不允许警报。但对我来说,它要求第一次使用应用程序。

请分享你的想法。谢谢你。

4

1 回答 1

1

如果用户第一次为您的应用关闭了位置服务,那么您每次尝试获取他们的位置时都会在您的应用中知道。您可以检查用户是否已授予您读取其位置的权限。如果他们没有,系统将再次提示他们为您的应用启用位置服务。

引用 Apple 的文档(在此处找到

建议您在尝试启动标准或重大更改位置服务之前始终调用 CLLocationManager 的 locationServicesEnabled 类方法。(在 iOS 3.x 及更早版本中,请检查 locationServicesEnabled 属性的值。)如果此类方法返回 YES,您可以按计划启动位置服务。如果它返回 NO 并且您仍然尝试启动定位服务,系统会提示用户确认是否应该重新启用定位服务。鉴于位置服务很可能被故意禁用,用户可能不欢迎此提示。

于 2013-05-16T06:55:08.000 回答