iOS 11插件和权限更改(Xamarin)

针对iOS11中关于位置和照片权限的变化进行了详细介绍,并提供了如何更新Info.plist文件的具体示例。此外,还介绍了Xamarin.Forms应用程序中使用Xam.Plugin.Geolocator和Xam.Plugin.Media插件时需要注意的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS 11在访问设备上的某些功能时引入了许多有关权限的有趣更新。 我试图在Xamarin.Forms应用程序中使用Geolocator Plugin访问用户位置时,首先注意到这些更改。 令我惊讶的是,没有发生什么。 在进一步调查应用程序的输出后,我注意到一个消息,说明我错过了什么!


这对您的应用程序意味着什么?它与您可能正在使用的任何插件有什么关系? 这篇文章解释了我在使用两个非常常见的插件Xam.Plugin.Geolocator和Xam.Plugin.Media时发现的内容。

更改位置权限

开发人员必须在iOS 11的Info.plist文件中同时包含NSLocationWhenInUseUsageDescription和NSLocationAlwaysAndWhenInUseUsageDescription。大多数开发人员也希望支持早期版本的iOS,这意味着您还需要包含第三个键NSLocationAlwaysUsageDescription。 NSLocationAlwaysAndWhenInUsageDescription键是iOS 11的新功能,可帮助开发人员采用新的推荐方法来请求权限。 Apple建议应用程序首先请求使用“正在使用”访问级别的位置使用权限。 然后,在获得信任的一段时间之后,应用程序可以更自信地请求始终访问级别。 重要的是要注意,应用程序只能请求“始终”级别一次。

以下是更新的info.plist文件的相关部分看起来像使用Geolocator示例应用程序:

点击(此处)折叠或打开

  1. key>NSLocationAlwaysUsageDescription/key>
  2. string>Need location for geolocator plugin./string>
  3.  
  4. key>NSLocationAlwaysAndWhenInUseUsageDescription/key>
  5. string>Need location for geolocator plugin./string>
  6.  
  7. key>NSLocationWhenInUseUsageDescription/key>
  8. string>Need location for geolocator plugin./string>

对照片权限的更改

在以前的iOS版本的info.plist中需要一个单键NSPhotoLibraryUsageDescription,用于访问用户的照片库。 iOS 11添加了一个新密钥,以便从只读访问权限分离只读访问。 如果您的应用程序需要将图像保存到照片库中,则需要新的NSPhotoLibraryAddUsageDescription键,而从照片库读取图像需要旧的NSPhotoLibraryUsageDescription键。

更新您的Xamarin插件

The Xamarin Plugins have been very popular in the community ever since they were announced. The Geolocator, Media and Permissions plugins are ready for your apps and iOS 11. If your not familiar with Plugins, be sure to check out the guide in the Xamarin Developer Center where you can learn more about which ones are available and how to create them.Xamarin插件自从宣布以来一直在社区中非常受欢迎。 GeolocatorMediaPermissions插件已经为您的应用和iOS 11准备了。如果您不熟悉插件,请务必查看Xamarin开发人员中心的指南,您可以在其中了解更多有关哪些可用的内容以及如何创建它们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值