react-native-image-picker在iOS上闪退的解决办法
来源:互联网 发布:中国建筑业数据库 编辑:程序博客网 时间:2024/06/08 00:10
最近做项目用到了react-native-image-picker
这个图片选择的第三方库,但在正确配置的情况下,点击选择相册会遇到闪退的问题,凭借开发原生的经验,找到了问题所在,在这里分享一下解决办法。
http://www.jianshu.com/p/977bc5eea1b1?utm_source=tuicool&utm_medium=referral
问题
点击选择相册或者拍照都会闪退,在Chrome上是没有错误信息的,想看到错误信息需要再XCode上运行程序,才会看到。
上面这段文字大致翻译过来的意思是这个程序已经崩溃,因为它试图访问隐私数据但没有使用说明。在info.plist文件中必须包含一个NSPhotoLibraryUsageDescription关键字符串,来向用户解释应用程序如何使用这些数据。
说白了就是需要再info.plist里面新增一个键值对。
这个问题是因为iOS10对隐私权限的管理更为严格 ,比如访问的摄像头、麦克风等硬件,都需要提前请求应用权限、允许后才可以使用,或者现在要提前声明,虽然以往要求不严格,如果遇到闪退需要在
注意:在一个iOS项目中会有两个info.plist,我们需要的是上面的那个文件,而不是Supporting Files 文件夹
中的。
解决方法
![Uploading 流程2_390070.png . . .]
点击info.plist文件,会出现上面的内容,通过点击红框中的小加号,来添加需要的字段。
在红框里面填写NSPhotoLibraryUsageDescription
(这个字段是访问相册,下面会有全部字段)
在后面的String中填写App需要您的同意,才能访问相册
(这段文字可以随意更改)
填写完两个字段之后,就可以正常的使用react-native-image-picker
啦!
这样一个一个添加是不是感觉很麻烦呢,在这里提供给大家一个简单的方式,在网上搜索的那些,都没有说明白下面两句话该写在那里。
<key>NSPhotoLibraryUsageDescription</key><string>photoLibraryDesciption</string>
更快捷的解决方法
按照上图的流程,点击Source Code
打开这个页面了吧!是不是感觉很熟悉,刚才写的东西,是不是以<key><key>
<string><string>
的形式展现出来了!接下来就是将最下面的参数,复制粘贴到上面啦!
需要用到的参数
<key>NSCameraUsageDescription<key><string>App需要您的同意,才能访问相机<string><key>NSPhotoLibraryUsageDescription<key><string>App需要您的同意,才能访问相册<string><key>NSContactsUsageDescription<key><string>App需要您的同意,才能访问通讯录<string><key>NSLocationAlwaysUsageDescription<key><string>App需要您的同意,才能始终访问位置<string><key>NSLocationUsageDescription<key><string>App需要您的同意,才能访问位置<string><key>NSLocationWhenInUseUsageDescription<key><string>App需要您的同意,才能在使用期间访问位置<string><key>NSMicrophoneUsageDescription<key><string>App需要您的同意,才能访问麦克风<string><key>NSBluetoothPeripheralUsageDescription<key><string>App需要您的同意,才能访问蓝牙<string><key>NSCalendarsUsageDescription<key><string>App需要您的同意,才能访问日历<string><key>NSAppleMusicUsageDescription<key><string>App需要您的同意,才能访问媒体资料库<string><key>NSHealthShareUsageDescription<key><string>App需要您的同意,才能访问健康分享<string><key>NSHealthUpdateUsageDescription<key><string>App需要您的同意,才能访问健康更新<string><key>NSMotionUsageDescription<key><string>App需要您的同意,才能访问运动与健身<string><key>NSRemindersUsageDescription<key><string>App需要您的同意,才能访问提醒事项<string>
总结
这篇文章其实更像是一篇给自己用来做整理的文章,省的以后再去晚上找那些莫名其妙的参数了。
如果文章中有什么地方写错了,或写的不清楚的地方,欢迎在评论区评论,或者发私信给我哦。
- react-native-image-picker在iOS上闪退的解决办法
- react-native-image-picker在Android上闪退的解决办法(上传头像base64,压缩上传图片)
- react-native-image-picker
- react-native-image-picker
- react-native-image-picker
- react-native-image-picker配置
- React Native 的Image 保存、Picker、上传等一系列问题
- 小菜鸟的第一篇文章,在学习RN,就当是做笔记吧,iOS开发RN中添加第三方库react-native-image-picker
- react-native-image-crop-picker学习
- react-native-image-crop-picker记录学习
- React Native开源库react-native-image-crop-picker使用图解
- React Native开源库react-native-image-crop-picker使用图解
- React-Native-image-picker-调取摄像头第三方组件:
- RN-第三方-react-native-image-picker,选择图片上传
- 使用react-native-image-crop-picker上传图片
- React-native 之Picker的使用
- React Native Switch和Picker的认识
- react-native的下拉列表Picker
- CountDownLatch实现并发多线程操作
- C/C++库函数strstr和find实现子字符串查找
- tensorflow-模型保存与读取
- LeetCode (Implement strStr())
- bzoj 2179 FFT快速傅里叶
- react-native-image-picker在iOS上闪退的解决办法
- 埃及分数
- 计算机系统知识
- 数据转换的规则汇总
- C# 继承
- C# 多态性
- spark作业调度
- 在.net中使用wcf做服务时,千万不要使用127.0.0.1作为Endpoint的address
- 利用iframe无刷新上传文件的坑