在iOS 10中使用UIImagePickerController时,电影的隐私权违规,但不适用于照片

时间:2016-10-20 18:15:16

标签: uiimagepickercontroller ios10 privacy

我有一个可以使用NSCameraUsageDescription拍摄照片和电影的应用 我在Info.plist中设置了InfoPlist.strings(实际上,已在+ (void)takePhotoOrMovie:(CFStringRef)mediaType inViewController:(UIViewController <UINavigationControllerDelegate, UIImagePickerControllerDelegate> *)viewController { UIImagePickerController *takePhotoOrMovieController = [[UIImagePickerController alloc] init]; takePhotoOrMovieController.sourceType = UIImagePickerControllerSourceTypeCamera; NSString *mediaTypePhotoOrMovie = (__bridge NSString *)mediaType; takePhotoOrMovieController.mediaTypes = @[mediaTypePhotoOrMovie]; takePhotoOrMovieController.allowsEditing = YES; // Enables the controls for editing takePhotoOrMovieController.delegate = viewController; [viewController presentViewController:takePhotoOrMovieController animated:YES completion:nil]; } 中进行了本地化)。

当应用程序启动并且我试图拍照时,我被要求获得许可,我已经批准了。现在,我可以毫无问题地拍照

然而,当我尝试拍摄电影时,应用程序因隐私违规而崩溃(请参阅下面的堆栈跟踪)。 这种崩溃有时会在相机界面出现之前发生,有时会发生(见下面的截图)。

我认为这与我呈现相机界面的方式无关,但无论如何这里是代码:

mediaType

照片参数kUTTypeImagekUTTypeMovie,电影参数为<c:forEach items="${dashboardBean.barModel}" var="barChart"> <p:column> <p:chart type="bar" model="#{barChart}" style="height:400px"> <p:commandButton value="Export" update=":dlg1" oncomplete="PF('dlg1').show();"> <f:setPropertyActionListener target="#{dashboardBean.selectedBarChart}" value="#{barChart}" /> </p:commandButton> </p:chart> </p:column> </c:forEach> <p:dialog id="dlg1" widgetVar="dlg1" appendTo="@(body)" height="450px" width="800px" > <p:chart type="bar" model="#{dashboardBean.selectedBarChart}"/> </p:dialog>

知道什么是错的以及如何纠正它?

enter image description here enter image description here

1 个答案:

答案 0 :(得分:3)

您还需要提供NSMicrophoneUsageDescription密钥。