1. 程式人生 > >react-native-image-picker在iOS上閃退的解決辦法

react-native-image-picker在iOS上閃退的解決辦法

最近做專案用到了react-native-image-picker這個圖片選擇的第三方庫,但在正確配置的情況下,點選選擇相簿會遇到閃退的問題,憑藉開發原生的經驗,找到了問題所在,在這裡分享一下解決辦法。

http://www.jianshu.com/p/977bc5eea1b1?utm_source=tuicool&utm_medium=referral


react-native.jpeg

問題


選擇器.png
點選選擇相簿或者拍照都會閃退,在Chrome上是沒有錯誤資訊的,想看到錯誤資訊需要再XCode上執行程式,才會看到。

錯誤資訊.png


上面這段文字大致翻譯過來的意思是
這個程式已經崩潰,因為它試圖訪問隱私資料但沒有使用說明。在info.plist檔案中必須包含一個NSPhotoLibraryUsageDescription關鍵字串,來向用戶解釋應用程式如何使用這些資料。


說白了就是需要再info.plist裡面新增一個鍵值對。
這個問題是因為iOS10對隱私許可權的管理更為嚴格 ,比如訪問的攝像頭、麥克風等硬體,都需要提前請求應用許可權、允許後才可以使用,或者現在要提前宣告,雖然以往要求不嚴格,如果遇到閃退需要在


info.plist圖片.png
注意:在一個iOS專案中會有兩個info.plist,我們需要的是上面的那個檔案,而不是Supporting Files 資料夾中的。

解決方法


流程1.png


![Uploading 流程2_390070.png . . .]
點選info.plist檔案,會出現上面的內容,通過點選紅框中的小加號,來新增需要的欄位。


流程2.png


在紅框裡面填寫NSPhotoLibraryUsageDescription(這個欄位是訪問相簿,下面會有全部欄位)


流程3.png


在後面的String中填寫App需要您的同意,才能訪問相簿(這段文字可以隨意更改)


流程4.png


填寫完兩個欄位之後,就可以正常的使用react-native-image-picker啦!

這樣一個一個新增是不是感覺很麻煩呢,在這裡提供給大家一個簡單的方式,在網上搜索的那些,都沒有說明白下面兩句話該寫在那裡。
<key>NSPhotoLibraryUsageDescription</key>
<string>photoLibraryDesciption</string>

更快捷的解決方法


更便捷的方式.png


按照上圖的流程,點選Source Code


修改頁面.png

開啟這個頁面了吧!是不是感覺很熟悉,剛才寫的東西,是不是以<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打包後執行退

Android原生專案集成了React Native後,打包成release執行起來後會出現閃退情況。 原因:沒有將React Native檔案打包進去。 解決方案:需要新增bundle檔案 在A

git在win10安裝後退解決辦法

1、用管理員許可權開啟cmd, 執行 sc start null,此時會顯示異常2、進入路徑 C:\Windows\System32\drivers3、從網上下載null.sys檔案,替換原來的系統檔案4、再執行sc start null,會發現沒報錯誤,如果再執行,會顯示已

Win7 系統記事本亂碼及cmd退解決辦法

中文 data- win7 打開 rip package strip apt bsp 打開控制面板,點擊時鐘、語言和區域 中文(簡體)改為英語(英國),然後重啟電腦,重啟電腦之後,繼續此操作,在把英語(英國)改為中文(簡體

求生之路 Hammer World Editor打開後退解決辦法

bubuko mage 閃退 edi 解決辦法 搜索 com 圖片 啟動 試過WinXp、Win7、Win10 都無法正常啟動Hammer,搜索N多資料後發現如圖修改 控制面板 -> 區域 -> 格式 -> 英語[美國] 即可正常啟動了!!! 求生之路

Win10專業版安裝GIT後使用Git Bash退解決辦法

百度後把過程和最終解決辦法記錄下來: 百度首先出來的解決辦法如下: 來自:https://segmentfault.com/q/1010000012722511?sort=created 重啟電腦 重新安裝 安裝到C盤 嘗試網上的教程 \G

Tomcat8啟動退解決辦法

首先Tomcat8官網下載地址: http://tomcat.apache.org/download-80 根據電腦位數進行下載,我的是64位的 然後下載並解壓,我的放到了F盤,解壓目錄為F:\apache-tomcat-8.5.34,如下圖:

記憶體溢位導致的eclipse或者sts啟動退解決辦法

日誌檢視目錄:workspace/.metadata/.log !ENTRY org.eclipse.ui.workbench 4 2 2018-10-20 01:05:27.443 !MESSAGE Problems occurred when invoking code

Java-15-tomcat7在大併發情況下報錯、退解決辦法

最近執行1年多的實時公交查詢系統,突然一天掛掉兩次,懵逼了。 大併發量下,tomcat7.0.54報錯:org.apache.tomcat.util.net.AprEndpoint$Poller run Poller failed with error [610,038]

app儲存圖片到使用者相簿時退解決辦法

在iOS11中,app儲存圖片到使用者相簿時必須新增許可權使用描述即NSPhotoLibraryAddUsageDescription,否則會閃退。 只需在info.plist—Property List檔案中新增以下鍵值對即可,描述文字可以隨便填但是必須不為空。 Privacy - Photo Li

深信服VPN在WIN10系統下,使用者撥入後退解決辦法

深信服VPN在WIN10系統下,使用者撥入後閃退解決辦法:掃面完後,在待修復項裡出現“*****導致賬號登入閃退”選項,點選後面的修復即可。以上是經驗解決辦法,若未能幫到大家,請大家多多包涵。    深信服vpn在win10系統下閃退修復工具。

啟動tomcat退 解決辦法

問題描述: 在服務裡啟動tomcat,立馬變為停止(閃退) 日誌描述: 警告: Catalina.start using conf/server.xml: 元素型別 “Context” 必須由匹配

Java 和 tomcat 環境變數設定以及tomcat Startup退解決辦法.

java 環境變數設定: 變數名:JAVA_HOME 變數值:C:\Program Files\Java\jdk1.7.0_25 變數名:CLASSPATH 變數值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

學習Servlet,jdbc以及Tomcat退解決辦法的隨筆

driver 1.8 問題 ros drive character 找到 tar 配置環境變量 Tomcat閃退解決辦法:(個人遇到情況的解決方法) (1)找到解壓縮的文件的bin目錄 找到startup.bat 記事本打開     開頭加上兩句話       SET

kettle Spoon.bat退解決辦法

環境配置 data pentaho perm permsize msi bin 修改 program 1、Java環境配置問題 java_home:D:\Program Files\Java\jdk1.7.0_25(安裝jdk路徑) classpath:.;%java_

react-native-image-picker在Android退解決辦法傳頭像base64,壓縮傳圖片)

問題描述:最近做專案上傳頭像時用到了react-native-image-picker第三方庫,使用的是 base64格式 上傳,在以下配置的情況下,android點選選擇相簿會遇到閃退的問題,找到了

react-native-image-picker在iOS退解決辦法

最近做專案用到了react-native-image-picker這個圖片選擇的第三方庫,但在正確配置的情況下,點選選擇相簿會遇到閃退的問題,憑藉開發原生的經驗,找到了問題所在,在這裡分享一下解決辦法。 http://www.jianshu.com/p/977bc5ee

12月11日,發生大面積的包含 react-native-image-picker 的安卓專案啟動崩潰現象解決方案。(我的已經解決

12月11日,發生大面積的包含 react-native-image-picker 的安卓專案啟動崩潰現象。疑似原因為maven源丟失。解決方案見github:https://github.com/react-native-community/react-native-image-picke

react-native多圖react-native-image-picker圖片傳之多個傳圖片

話不多說 直接貼程式碼, 如有疑問 下方留言或者發郵箱 引入需要的元件 import ImagePicker2 from 'react-native-image-picker'; import RNHeicConverter from 'react-native

React Native 使用react-native-image-picker庫實現圖片傳功能

react-native-image-picker作為一個整合相機和相簿的功能的第三方庫,因為其使用相對簡單受到前端開發人員的喜愛。 react-native-image-picker使用 1, 首先,安裝下該外掛。 npm install rea

解決用WebView去載入網頁在部分手機退問題

1.緒論 Binary XML file line #29: Error inflating class android.webkit.WebView…這種錯誤,你見過麼?最近公司應用(雲電腦)在各個應用市場比較火,用的人也多,在後臺統計的錯誤日誌裡,出現了個