2015-10-30 206 views
0

我正在嘗試使用共享擴展上的相機拍攝圖像。有可能嗎? 目前,在我的主應用程序中,我這樣寫。ios共享擴展相機

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]; 

這是在我的主要應用程序中,但在我的共享擴展名,它顯示相機視圖黑屏。我該怎麼辦?

回答

2

你不能這樣做。請記住,您的共享附加信息正在其他人的應用中運行。它只能在那裏做很少的事情,而使用相機不是其中之一。 (即使您可以這樣做,他們的應用程序可能也沒有使用相機的權限。)另外,您的共享擴展程序不擁有該屏幕,因此無法顯示圖像選擇器。放棄你的計劃,想一些別的事情。更逼真的東西。

+0

雖然此答案的相機訪問方面是正確的,但可以在其他應用程序的上下文中使用UIImagePickerController訪問照片。當我在iOS 11上進行測試時,它會在擴展程序的應用程序的上下文中顯示圖像選擇器並顯示安全警報。所以看起來權限是從擴展的父項繼承的。當在不具有照片訪問權限的應用中呈現共享擴展時,這甚至可以工作。 –