以下是我访问照片库的代码
-(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中运行良好。有人可以帮我解决这个问题。在此先感谢。
答案 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