1:如果你的App想要访问用户的相机、相册、麦克风、通讯录等等权限,都需要进行相关的配置,不然会直接crash掉。
要想解决这个问题,只需要在info.plist添加NSContactsUsageDescription的key, value自己随意填写就可以:
NSBluetoothPeripheralUsageDescription(访问蓝牙)
NSCalendarsUsageDescription(访问日历)
NSCameraUsageDescription(相机)
NSPhotoLibraryUsageDescription(相册)
NSContactsUsageDescription(通讯录)
NSLocationAlwaysUsageDescription(始终访问位置)
NSLocationUsageDescription(位置)
NSLocationWhenInUseUsageDescription(在使用期间访问位置)
NSMicrophoneUsageDescription(麦克风)
NSAppleMusicUsageDescription(访问媒体资料库)
NSHealthShareUsageDescription(访问健康分享)
NSHealthUpdateUsageDescription(访问健康更新)
NSMotionUsageDescription(访问运动与健身)
NSRemindersUsageDescription(访问提醒事项)
2:ATS的问题
2.1.在iOS 9的时候,默认非HTTS的网络是被禁止的,我们可以在info.plist文件中添加NSAppTransportSecurity字典,将NSAllowsArbitraryLoads设置为YES来禁用ATS;
2.2.从2017年1月1日起,,所有新提交的 app 默认不允许使用NSAllowsArbitraryLoads来绕过ATS的限制,默认情况下你的 app 可以访问加密足够强的(TLS V1.2以上)HTTPS内容;
2.3.可以选择使用NSExceptionDomains设置白名单的方式对特定的域名开放HTTP内容来通过审核。