zoukankan      html  css  js  c++  java
  • Xcode8、 iOS10 适配问题

    • 调用相机、相册、麦克风、位置等隐私问题崩溃解决办法

    你的项目中访问了隐私数据,比如:相机,相册,联系人等,在Xcode8中打开编译的话,统统会crash,控制台会输出下面这样的日志:

    这是因为iOS对用户的安全和隐私的增强,在申请很多私有权限的时候都需要添加描述,但是,在使用Xcode 8之前的Xcode还是使用系统的权限通知框.
    要想解决这个问题,只需要在info.plist添加NSContactsUsageDescription的key, value自己随意填写就可以,这里列举出对应的key(Source Code模式下):

    1. <!-- 相册 -->
    2. <key>NSPhotoLibraryUsageDescription</key>
    3. <string>App需要您的同意,才能访问相册</string>
    4. <!-- 相机 -->
    5. <key>NSCameraUsageDescription</key>
    6. <string>App需要您的同意,才能访问相机</string>
    7. <!-- 麦克风 -->
    8. <key>NSMicrophoneUsageDescription</key>
    9. <string>App需要您的同意,才能访问麦克风</string>
    10. <!-- 位置 -->
    11. <key>NSLocationUsageDescription</key>
    12. <string>App需要您的同意,才能访问位置</string>
    13. <!-- 在使用期间访问位置 -->
    14. <key>NSLocationWhenInUseUsageDescription</key>
    15. <string>App需要您的同意,才能在使用期间访问位置</string>
    16. <!-- 始终访问位置 -->
    17. <key>NSLocationAlwaysUsageDescription</key>
    18. <string>App需要您的同意,才能始终访问位置</string>
    19. <!-- 日历 -->
    20. <key>NSCalendarsUsageDescription</key>
    21. <string>App需要您的同意,才能访问日历</string>
    22. <!-- 提醒事项 -->
    23. <key>NSRemindersUsageDescription</key>
    24. <string>App需要您的同意,才能访问提醒事项</string>
    25. <!-- 运动与健身 -->
    26. <key>NSMotionUsageDescription</key> <string>App需要您的同意,才能访问运动与健身</string>
    27. <!-- 健康更新 -->
    28. <key>NSHealthUpdateUsageDescription</key>
    29. <string>App需要您的同意,才能访问健康更新 </string>
    30. <!-- 健康分享 -->
    31. <key>NSHealthShareUsageDescription</key>
    32. <string>App需要您的同意,才能访问健康分享</string>
    33. <!-- 蓝牙 -->
    34. <key>NSBluetoothPeripheralUsageDescription</key>
    35. <string>App需要您的同意,才能访问蓝牙</string>
    36. <!-- 媒体资料库 -->
    37. <key>NSAppleMusicUsageDescription</key>
    38. <string>App需要您的同意,才能访问媒体资料库</string>

    如果不起作用,可以请求后台权限,类似于这样:

    1. <key>UIBackgroundModes</key>
    2. <array>
    3. <!-- 在这里写上你在后台模式下要使用权限对应的key -->
    4. <string>location</string>
    5. ...
    6. </array>

    或者在Xcode里选中当前的target,选择Capabilities,找到Background Modes,打开它,在里面选择对应权限

     

  • 相关阅读:
    AS2介绍
    .net 资源大收藏
    智能客户端(SmartClient)(转载)
    [WPF Bug清单]之(3)——暗中创建文件的打开文件对话框
    实例分析SharpDevelop代码完成功能
    [WPF Bug清单](序)与之(1)——可以多选的单选ListBox
    实例分析SharpDevelop代码完成功能(续)——添加对Boo语言的支持
    [WPF Bug清单]之(2)——RadioButton的IsChecked绑定失效
    让WPF窗体程序支持命令行方式运行的三种方式
    基于文法分析的表达式计算器的实现
  • 原文地址:https://www.cnblogs.com/AnnieBabygn/p/6495963.html
Copyright © 2011-2022 走看看