2

当 iPhone 想要使用用户当前位置时,是否可以自定义默认警报消息。我不仅要更改文本,还要更改默认的蓝屏警报视图。是否可以 ?

在此处输入图像描述

谢谢。

4

2 回答 2

6

不可能。从文档中,

重要提示:除了不可用的硬件外,用户还可以选择拒绝应用程序访问位置服务数据。在应用程序的初始使用期间,Core Location 框架会提示用户确认使用位置服务是可以接受的。如果用户拒绝该请求,则 CLLocationManager 对象在以后的请求中向其委托报告一个适当的错误。您还可以使用 authorizationStatus 方法检查应用程序的显式授权状态。

警报由核心位置框架提示。我们无法控制它。

编辑:加起来,来自这个Apple 开发者论坛线程(需要登录)

出于隐私原因,所有应用程序都以标准方式显示该警报。用户的当前位置是敏感信息,我们希望确保他们在知情的情况下同意在设备上使用它。我们这样做的方式是为用户提供一个明确、一致的机制来表示同意。如果允许应用程序覆盖或禁用警报,那么这种一致性就会丢失。

回答者是苹果员工..

于 2012-12-03T12:04:34.173 回答
2

多年后,Apple 确实实现了一些自定义选项!

查看文档 文档

如果您在 info.plist 中放入以下键之一(取决于您对位置服务的使用),您可以指定一个自定义字符串,该字符串另外显示在默认警报中。

  • NSLocationUsageDescription(从 iOS6 开始可用)
  • NSLocationWhenInUseUsageDescription (iOS8 起)
  • NSLocationAlwaysUsageDescription(iOS8 起)
于 2014-11-11T14:21:42.040 回答