2015-10-30 3 views
0

Я пытаюсь взять изображение с камерой на расширение. Можно ли это сделать? В настоящее время в моем основном приложении я пишу вот так.ios share extension camera

self.pickerController = [[UIImagePickerController alloc] init]; 
[self.pickerController setSourceType:UIImagePickerControllerSourceTypeCamera]; 
[self.pickerController setDelegate:self.delegate]; 
self.pickerController.showsCameraControls = NO; 

//In main VC, I write like this 
[self presentViewController:[ImageTakingHelper sharedInstance].pickerController animated:YES completion:nil]; 

Это нормально в моем основном приложении, но в моем расширении share, он показывает черный экран для просмотра камеры. Как мне это сделать?

ответ

2

Вы не можете этого сделать. Помните, что расширение вашей доли работает в чужом приложении. Он может делать только небольшой диапазон вещей, и использование камеры не является одним из них. (Даже если вы можете это сделать, у их приложения может не быть разрешения на использование камеры.) Кроме того, расширение вашего общего ресурса не является владельцем экрана, поэтому он не может отображать подборщик изображений. Отбросьте свои планы и подумайте о чем-то другом. Что-то более реалистичное.

+0

В то время как аспект доступа камеры к этому правильному правилу, можно получить доступ к фотографиям с помощью UIImagePickerController в контексте другого приложения. Когда я тестировал на iOS 11, он отображает сборщик изображений и отображает предупреждение о безопасности в контексте приложения расширения. Таким образом, похоже, что разрешения наследуются от родителя расширения. Это даже работает при представлении расширения в приложениях, у которых нет доступа к фотографиям. –

Смежные вопросы