
iOS APP中保存图片到相册时崩溃的解决方法

环境:
iPhone Version 11.0.3 , Xcode Version 9.0
问题:
昨天维护APP时,发现拍照后保存图片时应用崩溃,输出如下:
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryAddUsageDescription key with a string value explaining to the user how the app uses this data.
Google翻译:
此应用程序已崩溃,因为它尝试访问隐私敏感数据,而无需使用说明。应用程序的Info.plist必须包含一个NSPhotoLibraryAddUsageDescription键,其中的字符串值向用户解释应用程序如何使用此数据。
解决:
如果你不愿思考而习惯性百度的话,会发现有很多类似的问题。不过它们基本都是缺少“NSPhotoLibraryUsageDescription”,而这里却是缺少“NSPhotoLibraryAddUsageDescription”。
其实翻译已经说明问题,崩溃原因就是info.plist中因为缺少“NSPhotoLibraryAddUsageDescription”权限,自己去添加上就解决问题了。
原因:
经过了解,导致问题的原因是iOS11系统过后苹果新增加了一个权限,以后保存图片需要添加权限“Privacy - Photo Library Additions Usage Description”。
经测试,对于未升级到iOS11的设备保存图片并没任何问题, 但设备升级到iOS11后再保存图片APP一定会崩溃,同学们赶紧维护吧!
示图:
崩溃展示:
添加权限:
未添加权限时点击“保存到本地”APP会崩溃,添加权限后点击“保存到本地”第一次会弹出权限弹窗。
以上这篇iOS APP中保存图片到相册时崩溃的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
iOS保存App中的照片到系统相册或自建相册的方法
保存照片到系统相册 保存照片到系统相册这个功能很多社交类的APP都有的,今天我们简单讲解一下,如何将图片保存到系统相册(Photo Album). 1.创建UIImageView 创建UIImageView是为了将照片展示出来,我们是要把UIImage保存到系统相册(Photo Album): 复制代码 代码如下: #define SCREEN [UIScreen mainScreen].bounds.size self.image = [UIImage imageNamed:@"iOSDevT
-
iOS App中调用相册中图片及获取最近的一张图片的方法
UIImagePickerController从拍照.图库.相册获取图片 iOS 获取图片有三种方法: 1. 直接调用摄像头拍照 2. 从相册中选择 3. 从图库中选择 UIImagePickerController 是系统提供的用来获取图片和视频的接口: 用UIImagePickerController 类来获取图片视频,大体分为以下几个步骤: 1. 初始化UIImagePickerController 类: 2. 设置UIImagePickerController 实例的数据来源类型(下面解
-
iOS APP中保存图片到相册时崩溃的解决方法
环境: iPhone Version 11.0.3 , Xcode Version 9.0 问题: 昨天维护APP时,发现拍照后保存图片时应用崩溃,输出如下: This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryAddUsageDescr
-
ios设备中angularjs无法改变页面title的解决方法
如下所示: $rootScope.$watch('title',function(title){ var body = document.getElementsByTagName('body')[0]; document.title = title; var iframe = document.createElement("iframe"); iframe.title = ''; iframe.width = 0; iframe.height = 0; iframe.setAttrib
-
iOS App使用GCD导致的卡顿现象及解决方法
最近在调研 iOS app 中存在的各种卡顿现象以及解决方法. iOS App 出现卡顿(stall)的概率可能超出大部分人的想象,尤其是对于大公司旗舰型 App.一方面是由于业务功能不停累积,各个产品团队之间缺乏协调,大家都忙着增加功能,系统资源出现瓶颈.另一方面的原因是老设备更新换代太慢,iOS 设备的耐用度极好,现在还有不少 iPhone 4S 在服役,iPhone 6 作为问题设备持有量很高,据估计,现在 iPhone 6s 以前的设备占有比高达 40%. 所以,如果尝试在线上 App
-
Java中URL传中文时乱码的解决方法
前言 Java中URL传中文时乱码的问题相信不少朋友都遇到过,最近就遇到一个问题,就是在Action当中把一条中文信息绑定在URL的后面,ActionForward到别一个页面时,用reqeust.getParameter取出是出现乱码的问题. 解决办法 1.对要进行URL传递的中文字符进行编码: String message = java.net.URLEncoder.encode("中文字符","utf-8"); 2.在取URL传递中文的页面对字符进行解码: S
-
详解iOS App中图片的线段涂鸦功能的添加方法
接下来我们要讲图片的涂鸦,我们分开一点一点拓展,先给图片上划线 创建项目 起名testAddLine 接下来我们在默认生成的ViewController中添加一张图片 待用 同时添加一个按钮 复制代码 代码如下: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIImag
-
VS2010中呈现控件时出错的解决方法
在制作控件的时候容易遇到"呈现控件时出错""发生了未处理的异常.未将对象引用设置到对象的实例."这样的错误,如下图:(也有可能仅仅只是因为未设置runat="server"标签而导致该错误,请先检查该项.) 但是在编译时/运行时也都是没有错误的. 分析 如图所示的情况我们称之为"设计时"以区别于"编译时"/"运行时". 设计时:在ASP.NET环境中也就是当我们在Visual Studi
-
iOS开发中Swift3 监听UITextView文字改变的方法(三种方法)
在项目中使用文本输入框出UITextField之外还会经常使用 UITextView ,难免会有需求监听UITextView文本框内文本数量.下面介绍在swift3中两种常用方式 方式一: 全局通知 1.注册通知 在合适位置注册监听UITextView文本变化的全局通知 //UITextView 监听开始输入的两种方法 //方法一:通知 NotificationCenter.default.addObserver(self, selector: #selector(ComposeVC.textV
-
在Vue中获取组件声明时的name属性方法
在实际开发中,我们可能需要拿到组件声明时创建的一些属性,比较典型的话就是name属性,在实际开发中需要定位问题时,需要找到是哪一个组件,但是我们总不可能写代码的时候去先找到组件的name属性,然后复制粘贴,作为参数传给函数吧. 例如: catchError('componentsName', 'errorDescription') 太傻了. 解决办法,获取到组件的this,然后利用this去拿到组件的name属性,这样的话,代码就可以这么写: catchError.call(this, 'err
-
基于IOS端微信分享失效的踩坑及解决方法
最近的一个公众号是基于vue的spa应用,在接入微信分享和微信语音的时候出现了:在Android上一切正常,但是在ios端调用wx.config的时候总是失败,去翻了官方文档也并没有找到解决方案,最后在测试中发现是因为初始化的时候传入的URL的问题.具体过程如下: 微信config接口配置,官方文档如下: 所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支
-
Flutter项目在 iOS14 启动崩溃的解决方法
Flutter是什么? Flutter是Google一个新的用于构建跨平台的手机App的SDK.写一份代码,在Android 和iOS平台上都可以运行. 下面看下Flutter项目在 iOS14 启动崩溃的问题及解决方法 崩溃现象 在iOS14发布之后,运行APP就出现闪退,和机型没关,只要是iOS 14就必闪退 崩溃分析 1.启动就闪退,多起几次可能有一次没有问题. 2.启动后到某个页面卡死(必卡跳不过) 根本原因尚不明确,个人分析Product Name会影响Header Folder Pa
随机推荐
- php批量删除数据
- Mysql数据表分区技术PARTITION浅析
- 用vbs操作注册表实例代码
- 一个验证用户名的正则表达式
- dos 日期时间格式设置使用小结(Date和Time)
- GSON实现Java对象与JSON格式对象相互转换的完全教程
- LRecyclerView侧滑iOS阻塞效果不完整的解决办法
- 符合标准的js表单提交的代码
- golang语言中for循环语句用法实例
- .Net(c#)汉字和Unicode编码互相转换实例
- jsp网页登陆验证
- js 创建一个浮动div的代码
- jQuery中andSelf()方法用法实例
- 理解php依赖注入和控制反转
- java 中归并排序算法详解
- 用YSlow分析和优化页面的方法第1/2页
- Android 编译出错版本匹配问题解决办法
- c#的dataset离线数据集示例
- Windows XP系统常见的进程列表
- Android开发使用PopupMenu创建弹出式菜单完整实例
其他
- pyecharts 高德地图API
- antd-vue的表格如何拖拽整列排序
- C# 判断文件是否一样
- order by newid() 速度慢
- mpvideoswiper播放比例
- 七天签到 记录未签到 js
- JS实现五星好评效果
- value-format属性自动补充时分秒
- mappet组件中,数据输入key value类型不能改变
- vue打包好后怎么上线
- RTOS 死在库文件中如何解决
- monaco-editor富文本编辑器
- java开发, 添加数据后同步到前端
- pywebview win7兼容问题
- unity 多线程共享纹理
- quarz修改cron
- vue 数组循环 拿第一个数组的值当key
- 任务计划程序在试着设置账户信息时出现错误
- python子图细长
- C# DATASET 显示