保存到相册时,ALAssetsLibrary会询问用户是否允许?为什么?

时间:2012-04-01 22:53:20

标签: ios

我有一个用户可以拍摄屏幕截图的游戏,它会将其保存到以游戏命名的自定义相册中。当我尝试这样做时,iOS会询问用户应用程序是否可以访问其位置信息,如果他们拒绝,则屏幕截图不会保存在自定义相册中,而是保存在默认相册中。

为什么要求使用位置信息的权限?我只是拍了一个屏幕截图。它与相机无关。我只是复制opengl表面并从中创建UIImage。

这是我保存UIImage的方式:

- (void)writeImageToSavedPhotosAlbum:(CGImageRef)imageRef orientation:(ALAssetOrientation)orientation completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock;

是否将位置信息放入屏幕截图?如果是这样,我可以禁用它,所以这个警告不会出现吗?我的游戏不需要位置信息,我讨厌用户认为我正在跟踪它们。

这似乎是一个疯狂的警告,因为它完全是事实错误。

1 个答案:

答案 0 :(得分:0)

如以下链接所示, http://developer.apple.com/library/ios/#Documentation/AssetsLibrary/Reference/ALAssetsLibrary_Class/Reference/Reference.html

  

此方法将失败并出现错误   如果用户尚未启用,则为ALAssetsLibraryAccessGloballyDeniedError   位置服务(在设置>常规中)。

但是,我们发现iOS 6中没有位置权限请求。也许iOS 6对照片有其他隐私控制。所以你不需要询问位置许可。我们的解决方案是检查 [[UIDevice currentDevice] systemVersion] ,并且仅在iOS> = 6时保存到自定义相册。