iOS 10 因苹果健康导致闪退 crash
如果在app中调用了苹果健康,iOS10中会出现闪退。
控制台报出的原因是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSHealthUpdateUsageDescription must be set in the app's Info.plist in order to request write authorization.'
这是因为我们要在info.plist文件中声明苹果健康的使用权限,所以在info.plist中添加以下key就可以了。
请求写入
<key>NSHealthUpdateUsageDescription</key>
<string>some string value stating the reason</string>
请求读取
<key>NSHealthShareUsageDescription</key>
<string>some string value stating the reason</string>
![](http://upload-images.jianshu.io/upload_images/530099-eeb093bef60afa52.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Paste_Image.png
另外iOS 10 其他权限相对应的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>