天天看點

react-native ios調試和打包問題總結(一)

以下為react-native項目在ios真機調試總結:

在mac的terminal進入react-native項目目錄,執行react-native run-ios出現如下錯誤提示:unable to exec Xcode native xcrun(Permission deny),解決辦法是執行sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer 

在終端通過指令檢視可用的裝置清單:xcrun simctl list devices

在終端通過指令指定運作的模拟器:react-native run-ios --simulator "iPhone 5"

在終端通過指令指定運作的裝置:react-native run-ios --device "iPhone 5"

在終端執行react-native run-ios --device "iPhone 5"指令之後,完成react-app的編譯,但是在最後安裝到真機裝置的時候失敗,錯誤提示為:make sure you have ios-deploy installed globally

解決辦法如下:sudo npm install -g ios-deploy --unsafe-perm=true (--allow-root)

安裝應用到真機裝置之後,點選應用啟動的時候如果提示不受信任的應用開發者,解決辦法為:設定-->通用-->描述檔案與裝置管理-->開發者應用-->信任應用即可

使用yarn下載下傳依賴庫的時候如果出現 An unexpected error occurred:"https://raw.githubusercontent.com/facebook... connect ECONNREFUSED 151.101.108.133:443"

解決辦法如下:修改mac的hosts檔案,指令:sudo vim /etc/hosts,拉到檔案的最後,i(進入輸入模式),增加199.232.68.133 raw.githubusercontent.com,按esc,進行指令模式,wq(儲存并退出),sudo killall -HUP mDNSResponder修改立即生效

以下為react-native項目在Xcode打離線包總結:

1、打離線資源指令為:react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/bundle/main.jsbundle --assets-dest ./ios/bundle  (如果ios目錄下沒有bundle檔案夾則自己建立一個)

第一步完成之後在bundle目錄下會生成一個main.jsbundle檔案和一個assets檔案夾

2、用Xcode打開react-native ios工程,然後将第一步的bundle檔案夾拖動到Xcode的ios項目下,注意的是必須選擇Creat folder references否則運作時将會報錯,無法找到檔案。

react-native ios調試和打包問題總結(一)

3、修改Appdelegate.m檔案

react-native ios調試和打包問題總結(一)

4、如果遇到沒有權限操作某一個檔案或者檔案夾,解決辦法如下:

react-native ios調試和打包問題總結(一)

提示沒有寫權限,并讓你試圖去finder或者終端中修改它。

選中工程檔案夾點右鍵,在 “顯示簡介"——>"共享與權限"——>"-+"号。 添加本使用者(就是你登入的那個賬号),授予讀寫權限,并點選下方的設定符号選擇"應用到包含的項目",操作如下圖:

react-native ios調試和打包問題總結(一)

如果下圖點選小設定圖示沒任何顯示,要先點選右邊小鎖進行解鎖

react-native ios調試和打包問題總結(一)

5、Xcode報錯誤資訊:No account for team "QMP96B5DPW". Add a new account in the Accounts preference pane or verify that your accounts have valid credentials.

原因:項目中的teamID未修改。

解決方法

搜尋 QMP96B5DPW 并修改為自己的ID。

react-native ios調試和打包問題總結(一)

6、如果遇到react-native-wechat包的問題,參考另一篇文章:https://blog.csdn.net/chali1314/article/details/112534235

7、如果build successful,但是在運作的過程中提示如下錯誤

react-native ios調試和打包問題總結(一)

解決辦法是檢視target和test的development team是否一緻,如果不一緻,設定為一緻

8、使用Xcode的run編譯運作ipa檔案的時候,發現build目錄下隻有debug檔案,沒有release檔案,解決辦法如下:

我們可以取消DEBUG模式,開啟RELEASE釋出模式,如下截圖所示,

選擇Product->Scheme->Edit Scheme,

react-native ios調試和打包問題總結(一)

下圖可以選擇Debug和Release兩種模式,

react-native ios調試和打包問題總結(一)

這裡我選擇了Release,那麼則預設沒有定義Debug,這樣就在釋出程式的時候,節省了一些硬體裝置的資源。

繼續閱讀