如何在消息扩展中访问用户的 Camera/Photos 库?

How can I access a user's Camera/Photos library in a Messages Extension?

我正在制作一个 iOS 消息扩展应用程序,它应该能够上传从相机胶卷拍摄的照片或从用户的照片库中选择的照片以在应用程序中使用(我的扩展只是一个在发送之前向图像添加滤镜的简单方法。

我在 info.plist 中添加了照片和相机权限,但我仍然遇到崩溃。

我知道这是错误代码(主要是为了快速 development/testing 编写的),但它仍然崩溃。有谁知道为什么?

if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypePhotoLibrary]) {
    NSLog(@"AVAILABLE");
}
else {
    NSLog(@"ERROR HERE");
    return;
}

UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePickerController.delegate = self;
[self presentViewController:imagePickerController animated:YES completion:nil];

出现此错误消息

2017-02-18 23:39:33.318 MessagesExtension[34704:3560916] Failed to inherit CoreMedia permissions from 34702: (null) 2017-02-18 23:39:35.585 MessagesExtension[34704:3560818] CHOOSE PHOTO 2017-02-18 23:39:35.585 MessagesExtension[34704:3560818] AVAILABLE (lldb)

想通了!!

我需要向两个 Info.plist 添加 Camera/Photo 库权限:一个用于扩展,一个用于应用程序。

我只将 Camera/Photo 库权限密钥添加到一个 Info.plist 而我应该将它添加到两个