iOS应用开发之权限说明

在iOS应用开发的过程中,需要配置info.plist文件给应用添加权限,该文件是键值对的形式。下面对info.plist文件中的部分权限进行说明,详细内容请以苹果开发者官网为准:https://developer.apple.com/documentation/bundleresources/information_property_list

NSAllowsArbitraryLoads

NSBonjourServices

NSAllowsArbitraryLoadsForMedia

NSAllowsArbitraryLoadsInWebContent

NSAllowsLocalNetworking

UIRequiresPersistentWiFi

NSBluetoothAlwaysUsageDescription

NSCalendarsUsageDescription

NSCameraUsageDescription

NSHealthShareUsageDescription

NSHealthUpdateUsageDescription

NSLocationUsageDescription

NSLocationWhenInUseUsageDescription

NSPhotoLibraryUsageDescription

NSMicrophoneUsageDescription


  • NSAllowsArbitraryLoads

iOS 9.0引入了新特性App Transport Security(ATS),ATS要求必须使用https协议访问网络。为了绕开ATS限制,访问http服务,可以配置NSAllowsArbitraryLoads为YES,从而使除了在NSExceptionDomains里面配置的域名以外,所有的http网络连接不受限制。

  • NSBonjourServices

需要配置一个表示Bonjour服务类型的字符串数组,其中包括应用中使用的所有服务类型。字符串举例:_myservice._udp,其中第一个子串表示应用协议,第二个子串表示传输协议。

  • NSAllowsArbitraryLoadsForMedia

不设置时,默认值是NO,此时仅用于加载已加密的媒体,例如由FairPlay或安全HLS保护的文件,并且不包含个人信息;设置成YES时,所有在APP里面使用AV Foundation framework加载的视频都不会被限制。

  • NSAllowsArbitraryLoadsInWebContent

设置成YES时,系统会禁用对来自Web视图的请求的所有ATS限制,也就是你的WebView的请求不一定需要HTTPS,APP就可以使用嵌入式浏览器来显示任意内容,但是应用的其他部分还是需要用ATS。

  • NSAllowsLocalNetworking

为本地网络流量禁用ATS

  • UIRequiresPersistentWiFi

应用可以使用WiFi

  • NSBluetoothAlwaysUsageDescription

使用蓝牙的原因描述

  • NSCalendarsUsageDescription

使用用户的日历信息的原因描述

  • NSCameraUsageDescription

使用相机的原因描述

  • NSHealthShareUsageDescription

读取用户的健康数据的原因描述

  • NSHealthUpdateUsageDescription

更新用户的健康数据的原因描述

  • NSLocationUsageDescription

请求访问用户位置的原因描述

  • NSLocationWhenInUseUsageDescription

应用在前台运行时,请求访问用户的位置信息的原因描述

  • NSPhotoLibraryUsageDescription

请求访问用户相册的原因描述

  • NSMicrophoneUsageDescription

请求访问设备麦克风的原因描述

参考资料

https://developer.apple.com/documentation/bundleresources/information_property_list
https://blog.csdn.net/littleFish_ZYY/article/details/118813530
https://blog.csdn.net/ypf1024/article/details/109892321
https://www.jianshu.com/p/10e120f0cefc

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好,iOS开发中需要使用Wi-Fi的功能需要在应用程序中获取Wi-Fi的权限。获取Wi-Fi权限的步骤如下: 1. 在应用程序的Info.plist文件中添加以下代码,允许应用程序访问Wi-Fi信息: ```xml <key>NSWi-FiUsageDescription</key> <string>需要使用您的Wi-Fi信息来进行某些操作</string> ``` 在字符串中,您可以描述应用程序为什么需要访问Wi-Fi信息。这个描述将显示在系统弹出的权限请求对话框中,让用户知道应用程序为什么需要Wi-Fi权限。 2. 在应用程序中使用系统提供的WiFiManager类来访问Wi-Fi信息。例如,以下代码将检查当前设备是否连接到Wi-Fi网络: ```swift import SystemConfiguration.CaptiveNetwork func getWiFiInfo() -> [AnyHashable: Any]? { var wifiInfo: [AnyHashable: Any]? if let interfaces = CNCopySupportedInterfaces() as NSArray? { for interface in interfaces { if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? { wifiInfo = interfaceInfo as? [AnyHashable: Any] break } } } return wifiInfo } let wifiInfo = getWiFiInfo() if let ssid = wifiInfo?["SSID"] as? String { print("当前连接的Wi-Fi名称为:\(ssid)") } else { print("当前未连接到Wi-Fi网络") } ``` 这段代码使用了SystemConfiguration框架中的CaptiveNetwork类来获取当前设备连接的Wi-Fi网络信息。注意,在使用CaptiveNetwork类时,需要导入SystemConfiguration框架。 希望这些步骤能够对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值