ios10 适配相关问题

            随着ios10的出现,我们在使用过程中发现了许多问题,有时候莫名其妙的就程序崩溃了,这时候我们的心里就跟着崩溃了,在这里我就来总结一下我在使用ios10中出现的问题.


           1.代码注释不能使用的问题:

            这个是因为苹果解决xcode ghost,把插件屏蔽了。
             解决方法
             打开终端,命令运行: sudo /usr/libexec/xpccachectl
             然后必须重启电脑后生效 

             注意:Xcode8内置了开启注释的功能,位置在这里

              

             2.权限及相关设置

          

           麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风?
           相机权限: Privacy - Camera Usage Description 是否允许此App使用你的相机?
           相册权限: Privacy - Photo Library Usage Description 是否允许此App访问你的媒体资料库?通讯录权限:                Privacy - Contacts Usage Description 是否允许此App访问你的通讯录?
           蓝牙权限:Privacy - Bluetooth Peripheral Usage Description 是否许允此App使用蓝牙?

           语音转文字权限:Privacy - Speech Recognition Usage Description 是否允许此App使用语音识别?
           日历权限:Privacy - Calendars Usage Description 是否允许此App使用日历?

           定位权限:Privacy - Location When In Use Usage Description 我们需要通过您的地理位置信息获取您周边的   相关数据
           定位权限: Privacy - Location Always Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据

           我们需要打开info.plist文件添加相应权限的说明,否则程序在iOS10上会出现崩溃
             具体如下图:
             

            

        3.屏蔽控制台打印杂乱无章的信息

        屏蔽的方法如下:
            Xcode8里边 Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加
            OS_ACTIVITY_MODE = Disable

            

        4.推送
         所有的推送平台,不管是极光还是什么的,要想收到推送,这个是必须打开的.
              

              5.隐私数据的访问

        你的项目中访问了隐私数据,比如:相机,相册,联系人等,在Xcode8中打开编译的话,统统会crash,

            要想解决这个问题,只需要在info.plist添加NSContactsUsageDescription的key, value自己随意填写就可以,这里列举出对应的key(Source Code模式下):

               

<!-- 相册 --> 
<key>NSPhotoLibraryUsageDescription</key> 
<string>App需要您的同意,才能访问相册</string> 
<!-- 相机 --> 
<key>NSCameraUsageDescription</key> 
<string>App需要您的同意,才能访问相机</string> 
<!-- 麦克风 --> 
<key>NSMicrophoneUsageDescription</key> 
<string>App需要您的同意,才能访问麦克风</string> 
<!-- 位置 --> 
<key>NSLocationUsageDescription</key> 
<string>App需要您的同意,才能访问位置</string> 
<!-- 在使用期间访问位置 --> 
<key>NSLocationWhenInUseUsageDescription</key> 
<string>App需要您的同意,才能在使用期间访问位置</string> 
<!-- 始终访问位置 --> 
<key>NSLocationAlwaysUsageDescription</key> 
<string>App需要您的同意,才能始终访问位置</string> 
<!-- 日历 --> 
<key>NSCalendarsUsageDescription</key> 
<string>App需要您的同意,才能访问日历</string> 
<!-- 提醒事项 --> 
<key>NSRemindersUsageDescription</key> 
<string>App需要您的同意,才能访问提醒事项</string> 
<!-- 运动与健身 --> 
<key>NSMotionUsageDescription</key> <string>App需要您的同意,才能访问运动与健身</string> 
<!-- 健康更新 --> 
<key>NSHealthUpdateUsageDescription</key> 
<string>App需要您的同意,才能访问健康更新 </string> 
<!-- 健康分享 --> 
<key>NSHealthShareUsageDescription</key> 
<string>App需要您的同意,才能访问健康分享</string> 
<!-- 蓝牙 --> 
<key>NSBluetoothPeripheralUsageDescription</key> 
<string>App需要您的同意,才能访问蓝牙</string> 
<!-- 媒体资料库 --> 
<key>NSAppleMusicUsageDescription</key> 
<string>App需要您的同意,才能访问媒体资料库</string>
 

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

      

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

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

           


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值