在 windows 上開發 React Native IOS App 必定須要 Mac OS X 操做系統嗎?答案几乎是確定的,下面這是 2016 年的答案,時隔兩年過去了依然沒有什麼好的解決方案。node
create-react-native-app
+ Expo
卻是能夠不須要 OS X 操做系統,可是須要一個 iPhone,我依然沒有。即便有,這種方式也不適合用來開發。react
因此,在 Windows 上安裝虛擬機彷佛是一個最佳選擇。通過個人實踐,只要電腦內存不小於 8 GB,處理器不是太渣開發體驗基本上是能夠接受的。ios
本文的寫做順序爲:安裝 VMware 14 =>
解鎖 VMware =>
安裝 OS X =>
更新操做系統 =>
安裝開發工具 =>
運行 RN 初始化的應用git
如下是個人 VM,下載後解壓,安裝時雙擊、下一步就好了,裏面包含有激活碼。github
蘋果公司作了一些限制,不容許在虛擬機上安裝 Mac OS,VMware 也應該沒有拿到受權,因此默認是沒有安裝 Mac OS 的選項,不過有第三方工具是能夠解鎖這個功能的。這是此工具的下載地址:cdn.xnngs.cn/share/VMwar…windows
解壓後右鍵管理員身份運行 win-install.cmd
程序便可。react-native
解鎖功能後建立一個虛擬機,而後如圖所示選中 Mac OS 的鏡像,此鏡像較大,能夠去百度網盤下載,連接:pan.baidu.com/s/1cp6ubiKG… 密碼:ma9g瀏覽器
以後在自定義硬件的時候,分配的內存和 CPU 核心數均可覺得主機的一半。按默認分配的也能夠,後面隨時均可以改的。(不過最好 CPU 是有多少給多少,由於虛擬機內操做系統的顯卡是由主機的 CPU 虛擬化的,主機的處理器好很差會直接影響到安裝後的系統畫面是否流暢)ruby
初次打開虛擬機的時候是會有一個報錯的,打開 Mac OS 的安裝目錄(非虛擬機安裝目錄),找到 macOS 10.12.vmx
文件,在 smc.present = "TRUE"
後面添加一行 smc.version = 0
。以後再次打開虛擬機就會進入加載系統的界面。
接下來來到下面這個界面,按如圖所示的操做進行分區,而後將系統安裝在此分區內。
重啓後就是一些自定義設置了,建議先選擇不鏈接到互聯網(就算如今選擇了聯網也沒法登錄 Apple ID),快速設置一個帳戶進入到系統。
進入到系統以後就能夠安裝 VMtools 了
安裝好 VMtools 以後就可讓 Mac OS 全屏顯示了
共享文件夾也順便設置下吧,我這裏把 Windows 的 D 盤和 OS X 作了一個共享,這樣兩個系統互相傳輸和訪問文件就很方便了。
到這裏還不能說已經安裝好了 OS X,由於還不能登陸 Apple ID,至少個人是不能登錄的,它給了我這樣的提示
須要使用安裝 macOS 10.13 或更高版本的 Mac 才能以此 Apple ID 登陸
複製代碼
因此,接下來要升級系統到 10.13,其實也很簡單,打開 App Store,在更新頁面的首頁就有安裝選項。
更新下載並安裝完後,下次重啓時會讓登陸 Apple ID,還會讓輸入上一次使用過的蘋果設備的密碼。
到這裏就完成了 Mac OS X 的安裝了。
首先去 App Store 安裝 XCode,大概有 5.3 G
接着打開終端運行一下命令安裝包管理器 brew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
複製代碼
有了包管理器後就能夠本方便地安裝 node
$ brew install node
複製代碼
爲了讓 npm 下載東西比較快,這裏設置下淘寶鏡像
$ npm config set registry https://registry.npm.taobao.org --global
$ npm config set disturl https://npm.taobao.org/dist --global
複製代碼
而後安裝 yarn 和 react-native 命令行工具,這裏 yarn 是可選的
$ npm install -g yarn react-native-cli
複製代碼
仍是爲了速度,再設置下 yarn 的淘寶鏡像
$ yarn config set registry https://registry.npm.taobao.org --global
$ yarn config set disturl https://npm.taobao.org/dist --global
複製代碼
到這裏 React Native 的 IOS 環境就裝完了
用如下幾條命令就能夠初始化一個 React Native 應用並啓動
$ react-native init testApp
$ cd testApp
$ react-native run-ios
複製代碼
圖中爲了節省時間是提早啓動了一個 IOS 模擬器的,正常狀況下它會在上面的命令執行後自動啓動。
按 win + D 能夠打開模擬器選項開啓熱加載,以後改動代碼,頁面就會自動刷新。
最後再來測試下虛擬機的性能,再用 XCode 打開此項目並啓動了一個 8 plus 模擬器,兩個模擬器同時運行加上 XCode、VSCode、Node 終端、瀏覽器也依然是很是流暢的。看來分配個 4 G 內存是徹底 OK 的。
Enjoy it!😁