1

我正在制作一个录制视频的应用程序。我将视频保存到应用程序的沙箱中,因此我无需访问用户照片库。我不希望我的应用程序请求许可。然而,大约 50% 的应用程序打开时,它会请求访问照片的权限。

我对原因的最佳猜测:我正在使用一个库,它可以更轻松地使用 AV Foundation,并且它的代码中隐藏了一些触发权限对话框的功能。

确保对话框永远不会出现的最佳方法是什么?我可以通过在我的应用程序列表中的某处设置一个坚定的 NO 来覆盖它吗?我是否必须通过库的代码才能找到有问题的功能?如果是这样,识别罪魁祸首的最佳方法是什么?什么最有可能触发对话?

我正在使用的库:

DIYAV: https ://github.com/diy/av

DIYCam:https ://github.com/thisandagain/cam

我正在触发这样的录制:

// self.cam is a DIYCam instance
[self.cam startSession];
[self.cam captureVideoStart];

并像这样停止录制:

[self.cam captureVideoStop];
[self.cam stopSession];
4

2 回答 2

0

将“DIYAVSettingSaveLibrary”设置为false似乎已经解决了。(默认设置为 true。)

NSDictionary *options;
options          = @{ DIYAVSettingFlash              : @false,
                      DIYAVSettingOrientationForce   : @false,
                      DIYAVSettingOrientationDefault : [NSNumber numberWithInt:AVCaptureVideoOrientationLandscapeRight],
                      DIYAVSettingCameraPosition     : [NSNumber numberWithInt:AVCaptureDevicePositionBack],
                      DIYAVSettingCameraHighISO      : @true,
                      DIYAVSettingPhotoPreset        : AVCaptureSessionPresetPhoto,
                      DIYAVSettingPhotoGravity       : AVLayerVideoGravityResizeAspectFill,
                      DIYAVSettingVideoPreset        : AVCaptureSessionPreset1280x720,
                      DIYAVSettingVideoGravity       : AVLayerVideoGravityResizeAspectFill,
                      DIYAVSettingVideoMaxDuration   : @300,
                      DIYAVSettingVideoFPS           : @30,
                      DIYAVSettingSaveLibrary        : @false };

[cam setupWithOptions:options]; // Check DIYAV.h for options
[cam setCamMode:DIYAVModeVideo];
于 2013-04-05T22:46:39.127 回答
0

如果你想搜索框架并且你有代码,你应该搜索 UIImagePickerControllerSourceTypePhotoLibraryUIImagePickerControllerSourceTypeSavedPhotosAlbum

这些是访问 iPhone 照片库的那些。

于 2013-04-05T21:07:50.670 回答