Ios 如何防止我的应用程序请求访问照片的权限?
我正在制作一个录制视频的应用程序。我正在将视频保存到应用程序的沙盒中,因此我不需要访问用户照片库。我不想让我的应用程序请求许可。然而,大约50%的应用程序打开时,它会请求访问照片的权限Ios 如何防止我的应用程序请求访问照片的权限?,ios,objective-c,permissions,camera,avfoundation,Ios,Objective C,Permissions,Camera,Avfoundation,我正在制作一个录制视频的应用程序。我正在将视频保存到应用程序的沙盒中,因此我不需要访问用户照片库。我不想让我的应用程序请求许可。然而,大约50%的应用程序打开时,它会请求访问照片的权限 我对原因的最佳猜测:我正在使用一个使AV基础更容易工作的库,它在代码中隐藏了一些触发权限对话框的特性。p> 确保对话框从不出现的最佳方法是什么?我可以通过在我的应用程序的plist中的某个地方设置一个firm NO来覆盖它吗?我是否必须彻底检查库的代码才能找到有问题的特性?如果是这样的话,识别罪犯的最佳方法是什么
我对原因的最佳猜测:我正在使用一个使AV基础更容易工作的库,它在代码中隐藏了一些触发权限对话框的特性。p> 确保对话框从不出现的最佳方法是什么?我可以通过在我的应用程序的plist中的某个地方设置一个firm NO来覆盖它吗?我是否必须彻底检查库的代码才能找到有问题的特性?如果是这样的话,识别罪犯的最佳方法是什么?什么最有可能触发该对话框
我正在使用的库: 迪亚夫: DIYCam: 我触发了这样的录音:// self.cam is a DIYCam instance
[self.cam startSession];
[self.cam captureVideoStart];
[self.cam captureVideoStop];
[self.cam stopSession];
停止这样的录音:
// self.cam is a DIYCam instance
[self.cam startSession];
[self.cam captureVideoStart];
[self.cam captureVideoStop];
[self.cam stopSession];
如果要搜索框架并获得代码,则应搜索UIImagePickerControllerSourceTypePhotoLibrary或UIImagePickerControllerSourceTypeSavedPhotosAlbum
这些是访问iPhone照片库的工具。将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];
我打赌该库正在使用UIImagePickerController。@AlessandroVendruscolo是的,但从我所知,它只能运行isSourceTypeAvailable@JoshCaswell添加了库和链接,很抱歉遗漏。此外,我还将添加一些我正在使用的代码。是否有可能在构建和运行应用程序时替换应用程序的沙盒,从而将应用程序从权限链中删除?试着在不构建的情况下运行这个东西,然后得出结论,权限对话框是这里的问题。它两者都没有。但它确实有AVAsset方法,如AVAssetImageGenerator。这些会触发权限对话框吗?我不是100%确定,但据我所知,你不需要任何AVAsset代码。在我的应用程序中,我实现了我自己的照片拍摄,我根本不需要AVAsset,我的代码中没有任何AVAsset的引用。您可以尝试注释掉包含AVAsset的所有部分。您是否也考虑过使用不同的框架?我知道DIYCamera很容易使用,当我正确记忆时,如果你只是使用相机的部分,它没有要求你的照片访问许可!DIYCamera实际上是我正在使用的图书馆。我将链接添加到了我的原始帖子中。难道你不认为你可以通过DIYCAM共享你保存到沙盒的代码吗?DIYAV/DIYCAM的文档有点单薄。。。