最近在研究 ReactNative 的分包,因此下載了攜程的CRN代碼示例進行參考學習,可是在 Mac 系統下卻始終沒法在 Xcode 下編譯經過,所以記錄下踩坑過程。node
最初覺得是個人 Xcode 版本問題,所以心一橫就將 Xcode 從 9.4 升級到 10.1版本,而後發現依然沒法編譯經過。可是錯誤代碼已經變成以下:ios
xcode10 Command PhaseScriptExecution failed with a nonzero exit code
在網上搜索到解決方案:xcode
Xcode 菜單 file -> Workspace Settings -> Build System 選擇 Legacy Build System 使用舊的編譯系統便可
總算擺脫一個錯誤了,緊接着編譯又出現下面的錯誤:學習
React/RCTEventEmitter.h file not found
解決方法以下:ui
1. 快捷鍵 Command + Shift + < 打開配置界面 2. 在左側選擇 Build 節點 3. 點擊底部 + 號,選擇 React 子項目進行附加 4. 將 React 編譯項目放到主項目以前編譯 5. Clear 項目,從新編譯
感受應該都沒問題了,再次編譯繼續報錯:spa
ios-install-third-party.sh: Permission denied
無力的繼續搜索解決方法,有兩種方式,我都嘗試了,也不肯定哪一種有效(給 node_modules 目錄提高權限 和 給 scripts 下面的 sh 文件提高權限):code
HAVENT@MacBookPro~ chmod -R 777 node_modules HAVENT@MacBookPro~ cd ios/CRNDemo/ReactNative/scripts HAVENT@MacBookPro~ chmod a+x ./*.sh
坎坷事後,總算是編譯經過打開 iOS 虛擬機了,歡欣鼓舞一下!ip