作者:卜土杠烟2502932477 | 来源:互联网 | 2023-01-15 17:13
我在我的应用中请求用户位置.
locationManager.requestAlwaysAuthorization()
这行代码应返回此警报消息:
但是,我希望用户仅在"不允许"和"始终允许"之间进行选择.如何删除"仅在使用应用程序时"选项?
知道这是我在info.plist中包含的内容,并且从info.plist中删除这3行中的任何行导致应用程序根本不显示此警报.
1> Ahmad F..:
它不再是可选的.
自iOS 11发布以来,如果您的应用程序请求该位置始终打开(locationManager.requestAlwaysAuthorization()
),则将自动为用户提供所有三个选项.
与以前的iOS版本不同,所有选项都必须显示给用户.这导致:您必须为两个选项添加密钥.
改编自Apple的文章 - 请求始终授权:
您需要在应用的Info.plist文件中包含NSLocationWhenInUseUsageDescription
和NSLocationAlwaysAndWhenInUseUsageDescription
键.(如果您的应用程序支持iOS 10及更早版本,
NSLocationAlwaysUsageDescription
则还需要密钥.)如果这些密钥不存在,则授权请求会立即失败.
参考:位置技术视频会话的新功能.