iOS 10 - 应用程序崩溃通过UIImagePickerController访问照片库或设备相机

时间:2016-09-28 05:37:26

标签: ios objective-c uiimagepickercontroller ios10 xcode8

以下是我访问照片库的代码

-(void)click_gallery
{

    if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
     {

    UIImagePickerController *imgPicker= [[UIImagePickerController alloc] init];
    UIColor* color = [UIColor colorWithRed:46.0/255 green:127.0/255 blue:244.0/255 alpha:1];
    [imgPicker.navigationBar setTintColor:color];
    imgPicker.delegate = self;
    imgPicker.allowsEditing = YES;
    imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

    [self presentViewController:imgPicker animated:NO completion:Nil];
     }

}

并以

中止

此应用尝试在没有使用说明的情况下访问隐私敏感数据。应用程序的Info.plist必须包含一个NSCameraUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据。

libsystem_kernel.dylib`__pthread_kill:
    0x109955efc <+0>:  movl   $0x2000148, %eax          ; imm = 0x2000148 
    0x109955f01 <+5>:  movq   %rcx, %r10
    0x109955f04 <+8>:  syscall 
->  0x109955f06 <+10>: jae    0x109955f10               ; <+20>
    0x109955f08 <+12>: movq   %rax, %rdi
    0x109955f0b <+15>: jmp    0x1099507cd               ; cerror_nocancel
    0x109955f10 <+20>: retq   
    0x109955f11 <+21>: nop    
    0x109955f12 <+22>: nop    
    0x109955f13 <+23>: nop    

我得到主题10:EXC_BAD_INTRUCTION代码= exc_i386_invop , 相同的代码在iOS 9中运行良好。有人可以帮我解决这个问题。在此先感谢。

2 个答案:

答案 0 :(得分:9)

iOS 10 中。您必须为相机和相机设置隐私设置。图片库。

相机:

Key       :  Privacy - Camera Usage Description   
Value     :  $(PRODUCT_NAME) camera use

照片库:

Key       :  Privacy - Photo Library Usage Description    
Value     :  $(PRODUCT_NAME) photo use

答案 1 :(得分:1)

  

IOS 10现在需要用户权限才能访问媒体库,照片,   相机和其他硬件就像这些。解决方案是添加   他们的密钥进入info.plist,其中包含用户的描述   使用他们的数据,iOS已经需要访问权限   麦克风,相机和媒体库较早(iOS6,iOS7),但从那以后   iOS10如果您没有提供描述原因,应用程序将崩溃   正在征求许可。

在plist文件中添加以下键值。

您可以在Info.plist文件中指定所有Cocoa密钥的列表

照片:

Key       :  Privacy - Photo Library Usage Description    
Value   :  $(PRODUCT_NAME) photo use

麦克风:

Key        :  Privacy - Microphone Usage Description    
Value    :  $(PRODUCT_NAME) microphone use

相机:

Key       :  Privacy - Camera Usage Description   
Value   :  $(PRODUCT_NAME) camera use