xcode8运行ios10 的版本模拟器会出现很多的崩溃现象,比如用到相机,麦克风,健康数据等

刚运行的时候也觉得莫名其妙的,这么就挂了呢,Google了好久刚开始只是解决了相机崩溃的问题,后来HealthKit的问题也搞明白了,原来都只需要在info里面填写这些对应的key就可以 了

对应为:

<key>NSCameraUsageDescription</key>
<string>cameraDesciption</string>
<key>NSContactsUsageDescription</key>
<string>contactsDesciption</string>
<key>NSMicrophoneUsageDescription</key>
<string>microphoneDesciption</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>photoLibraryDesciption</string>

解释下这些key

NSCameraUsageDescription ----- 相机
NSContactsUsageDescription ----- 摄像头
NSMicrophoneUsageDescription ----- 麦克风
NSPhotoLibraryUsageDescription ----- 相册

还有一个是找的比较久的 healthKit 问题崩在这个方法:
/*
             注册需要读写的数据类型,也可以在“健康”APP中重新修改
             */
            [self.healthStore requestAuthorizationToShareTypes:nil readTypes:readDataTypes completion:^(BOOL success, NSError *error) {
                if (!success) {
                    NSLog(@"%@\n\n%@",error, [error userInfo]);
                    return ;
                }
                else
                {
                    //                dispatch_async(dispatch_get_main_queue(), ^{
                    //                    [self.window.rootViewController presentViewController:tabVC animated:YES completion:nil];
                    //                });
                }
            }];

解决方法是添加这两个key:

以下是官方的文档对照表,自己查询想要的key

时间: 2024-08-28 12:27:45

xcode8运行ios10 的版本模拟器会出现很多的崩溃现象,比如用到相机,麦克风,健康数据等的相关文章

关于oc和swift混编 框架framework时 只能在真机运行或只能在模拟器单独运行的解决方案

问题描述: 关于oc和swift混编 框架framework时 只能在真机运行或只能在模拟器单独运行的解决方案. 问题提供者:by 走跑 解决方案: 首先制作swift版本的framework(Cocoa Touch Framework)取名FirstMixed 1. 工程里面新建一个SwiftView.swift文件,继承UIView,class必须是public修饰 2. 生成真机和模拟器通用的FirstMixed.framework参考这篇文章的制作通用动态库部分,这里面有教如何生成真机和

Gradle &#39;MYasprj&#39; project refresh failed Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容

Gradle ‘MYasprj’ project refresh failed Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容.请查看计算机的系统信息,了解是否需要 x86 (32 位)或 x64 (64 位)版本的程序,然后联系软件发布者. 解决方案: 你开发项目的引用Javajdk,与本机安装的Java jdk版本不一致,打开项目后,在project structure里面更改一下本机的真实的java jdk路径.  Gr

如何让VMware低版本运行VMware高版本创建的虚拟机

如何让VMware低版本运行VMware高版本创建的虚拟机 问题描述: 本机安装的VMware Workstation是10版本,之前VMware Workstation 11版本创建的虚拟机,在运行虚拟机时报错: The configuration file "vmname.vmx" was created by a VMware product that is incompatible with this version of VMware Workstation and cann

Xcode各种iOS版本模拟器的安装使用

原文链接: Xcode各种iOS版本模拟器的安装使用 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com/MajorLMJ iOS开发者公会-技术1群 QQ群号:87440292 iOS开发者公会-技术2群 QQ群号:232702419 iOS开发者公会-议事区   QQ群号:413102158

解决ios10以上版本缩放问题

<script type="text/javascript"> /*解决ios10以上版本缩放问题 20171102*/ window.onload=function () { document.addEventListener('touchstart',function (event) { if(event.touches.length>1){ event.preventDefault(); } }) var lastTouchEnd=0; document.add

[转]找到运行的Ubuntu版本对应的内核源码

原文:找到运行的Ubuntu版本对应的内核源码 ---------------------------------------------------------------------- 本文主要讲述,如何根据当前运行的Ubuntu版本,找到对应的内核源码. 首先,按照下面链接里的内容,下载对应的内核源码仓库. https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide 如果觉得链接里的内容太长了,可以试下如下命令. git clone git://gi

Xcode8开发iOS10推送通知过程

iOS10发布后,简书优先开发增加了iOS10的新通知.本文分享整个feature的开发过程遇到的问题. 1.工程配置 Xcode8发生了很大的变化,直接打开原来的工程编译运行,这个时候是获取不到Push token的,打印didFailToRegisterForRemoteNotificationsWithError中的error可以看到 fail to register with error Error Domain=NSCocoaErrorDomain Code=3000 "no vali

iOS xcode8 运行去掉系统打印的日志

升级到 iOS10后,运行程序,打印台会出现许多乱码七糟的打印日志,在工程配置中可以将其去掉(每个工程都需要添加) 解决方法:Xcode8里边 Edit Scheme... -> Run -> Arguments,(快捷键:shift + command + <) 在Environment Variables里边添加 OS_ACTIVITY_MODE = disable

【Mac + Android】之Android Studio 环境搭建,AVD模拟器运行(包括Genymotion模拟器插件配置运行)

参考主要: <Mac android studio 环境搭建和真机运行> <如何在mac本上安装android sdk> <mac系统下android studio创建手机模拟器> 参考次要: <mac机中使用命令行方式启动android sdk manager> <如何在Mac中使用Android SDK> <Mac上运行安卓手机模拟器> 其他参考: Windows: <Android SDK Manager 和 AVD Ma