【iOS工程】获取手机相册权限,iOS原生系统弹窗, Privacy隐私政策选择,如何添加系统弹出并修改描述文字
设备/引擎:Mac(11.6)/Mac Mini
开发工具:Xcode(15.0.1)
开发需求:获取手机相册权限,iOS原生系统弹窗, Privacy隐私政策选择,如何添加系统弹出并修改描述文字
最近打包上传游戏时被拒,提示请求权限时未说明用途,修改方法也简单,找到之前的描述进行修改即可。
官方文档给出三个权限弹窗示例如下
1.一般是获取位置信息
2.需要上传图片时
3.只需要保存图片到相册
我们只用到了保存图片的功能,所以是第三种情况。
在info.plist中添加隐私政策并添加描述文字,如下图
这里就是控制弹窗标题下方小字描述的地方,也是我们需要修改的地方,具体文字需要根据项目需求来做。
保存图片并设置一个回调函数处理保存结果
1.UIImageWriteToSavedPhotosAlbum
此方法是iOS 中用于将图片保存到用户的照片库的函数,代码示例
UIImage *image = [UIImage imageNamed:@"你的图片.png"];
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
其中的didFinishSavingWithError就是处理保存结果的回调函数
2.处理保存结果
之前我们用的UIAlertView,但是这个方法在iOS 8 及更高版本中已经弃用,最新的需要用UIAlertController,示例如下
// 初始化 UIAlertControllerUIAlertController *alertController;// 判断是否有错误,并显示相应的提示信息if (error != NULL) {alertController = [UIAlertController alertControllerWithTitle:@""message:@"Save error. Please check your settings."preferredStyle:UIAlertControllerStyleAlert];} else {alertController = [UIAlertController alertControllerWithTitle:@""message:@"Image saved to your Photos!"preferredStyle:UIAlertControllerStyleAlert];}// 添加“OK”按钮UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK"style:UIAlertActionStyleDefaulthandler:nil];// 将“OK”按钮添加到 alertController[alertController addAction:okAction];// 获取根视图控制器并显示 alertControllerUIViewController *rootViewController = [[UIApplication sharedApplication].delegate window].rootViewController;[viewController presentViewController:alertController animated:YES completion:nil];
这样在保存图片后就会出现提示弹窗,提示用户是否保存成功。
PS:如果你的弹窗出现的是ok不是allow,不用担心,可能是地区、语言的不同造成的,而且你也无法修改系统的按钮描述……
希望能给大家带来帮助!!!有什么问题需要讨论的可以评论私信欢迎讨论~