我有一个用户可以拍摄屏幕截图的游戏,它会将其保存到以游戏命名的自定义相册中。当我尝试这样做时,iOS会询问用户应用程序是否可以访问其位置信息,如果他们拒绝,则屏幕截图不会保存在自定义相册中,而是保存在默认相册中。
为什么要求使用位置信息的权限?我只是拍了一个屏幕截图。它与相机无关。我只是复制opengl表面并从中创建UIImage。
这是我保存UIImage的方式:
- (void)writeImageToSavedPhotosAlbum:(CGImageRef)imageRef orientation:(ALAssetOrientation)orientation completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock;
是否将位置信息放入屏幕截图?如果是这样,我可以禁用它,所以这个警告不会出现吗?我的游戏不需要位置信息,我讨厌用户认为我正在跟踪它们。
这似乎是一个疯狂的警告,因为它完全是事实错误。
答案 0 :(得分:0)
此方法将失败并出现错误 如果用户尚未启用,则为ALAssetsLibraryAccessGloballyDeniedError 位置服务(在设置>常规中)。
但是,我们发现iOS 6中没有位置权限请求。也许iOS 6对照片有其他隐私控制。所以你不需要询问位置许可。我们的解决方案是检查 [[UIDevice currentDevice] systemVersion] ,并且仅在iOS> = 6时保存到自定义相册。