Hackintoshを使用してWindowsでReact Native iOSアプリを開発する方法(まあ、ちょっと)

こんにちはミディアム!これが私の最初の話ですが、ゲームにまっすぐ入りたいです。

iOS React Native開発を行うには、物理​​的なMacとiPhoneが必要です。

つまり、MacBookとiPhoneがあります。そして、レポをMacBookに共有し、React Native BuilderとReact Native Packagerを実行する必要がありました。ブー。

それに、ワークステーションで働きたい、Xeonワークステーションを持っているので、キーボードとマウスに別れを告げなければならなかったので、生産性に別れを告げなければならなかったのは残念です。

Xamarinでさえ、リモートiOSシミュレーターとビルドエージェントを提供しているため、メインPCでの開発を楽しんでから、リモートMac環境でビルドをプッシュできます。そして、RNチームがそれを実現するための微風があるとは思いません。

だから、私は自分の脳力の一部を絞って、最終的に非常に、非常に奇抜で、クレイジーで怠zyな解決策から出てきました。そして、私が考えたポイントは次のとおりです。

良い点1:明確に手順を実行していれば、仮想化が有効になっているx86_64ビットPCで広く機能します。

良い点2:環境を簡単に廃棄できます。環境のクローンを作成して、別の場所に移動することもできます。

悪い1:それは、ちょうど、うまくいきます!

悪い点2:XCode以外のMacプログラムを実行することはお勧めしません。

悪い3:AMD CPUがこれをはるかに超えるとは思わないでください。

glyい1:本当のMacでパフォーマンスのほんの一部を得るには、そのために非常に頑丈で怪しいPCが必要です。

Uい2:ハードウェアアクセラレーションがないため、OpenGL ESコンテキストを実行してデバッグすることを期待しないでください。

あなたが本物の男なら、Macを手に入れてください。それ以外の場合は、Hack-in-to-shへの旅を発見します。

(警告:Hackintoshの練習は、Appleソフトウェアとハ​​ードウェアの両方のEULAの違反であり、過去10年間に誰もいなかったが、会社がしているという事実にもかかわらず、告訴と訴訟に直面する可能性がありますが、私たちはそれに限定されませんさまざまなオペレーティングシステムのインストールを含む、当社のコンピューターに関するすべてのことですので、自分自身を引き締めて、合法的なグレーゾーンを踏み続けるかどうかを決定してください)

前提条件

前述したように、実際には非常に強力で強力なPCが必要です!私はXeonワークステーションを持っていますが、それはほとんどうまくいきません。

また、HDDでMac VMにアクセスするまで5分以上待つ忍耐がない限り、SSDが必要です。

ちょっと待って! VM。うーん…仮想マシン?あなたはそれがあなたではないと推測しましたか?そうです、これにはVMWareが必要です。

ステップ1:Macインストールイメージを取得する

さて、これなしでは何もできません…

Macを持っている友人がいる場合は、そのマシンを借ります…

App StoreからmacOS Sierraをダウンロード…

オンラインに移動し、そのインストールイメージをポータブルDMG / ISOフォームにリッピングする儀式を見つけます。

私はそのような方法を開示しません、私は何のトラブルも受けたくないからです〜¯\ _(ツ)_ /¯

最終的なDMG / ISOファイルをメインPCに転送します。もちろん必要です

ステップ2:VMWare Playerをダウンロードする

ほとんどの人が持っていないVMWare Workstationをお持ちでない限り、VMWare Playerのダウンロードを続行する必要があります。

インストールするだけです。まったく問題ないはずです。

ステップ3:Unlockerをダウンロードする

さて、これは私たちの最初のハックです。

基本的に、VMWareは、VMWare Fusionを除くすべてのVMWareハイパーバイザー上の仮想マシンインスタンスで実行され、OSXとEFIが一緒に実行および連携するのを防ぐ重要なオプションをロックしました(ハードコード、シリアル、SMBなど)。

したがって、Hackintoshを機能させるには、いくつかのパッチを適用して「ロック解除」する必要があります。

「クローンまたはダウンロード」をクリックしてファイルをダウンロードした後、解凍し、「win-install.cmd」および「win-update-tools.cmd」という名前のファイルを見つけます。

[win-install.cmd]を右クリックして[管理者として実行]を選択すると、同じように[win-update-tools.cmd]が実行されます。これは、Windowsレジストリにアクセスして、パッチを実行するためにVMWareサービスを停止するために必要です。

ステップ4:新しい仮想マシンを作成する

VMWare Playerを開き、メニューで[Create a New Virtual Machine]を選択します。

次に、先ほど転送したインストーラーディスクイメージファイルを選択します。

次に、「Apple Mac OS X」を選択し、適切なバージョンを選択する必要があります。たとえば、ここではmacOS Sierraを使用しているため、「macOS 10.12」でした。ElCapitanまたはYosemiteを使用している場合は、適切なバージョンを入手してください。

すべてのオプションを渡します。 VMを構成することを忘れないでください。コアカウントを変更しましたが、ほとんどの場合、大衆にとっては問題ありません。

ステップ5:.vmxファイルの改造

手順3で述べたVMWareによって課せられた制限を回避する必要があります。仮想マシン構成ファイルにエントリを追加する必要があります。または、VMの起動中にコアダンプが発生します。

デフォルトでは、場所を変更していない場合は、「〜/ Documents / Virtual Machine / / .vmx」にあります。

ファイルを開き、ファイルの最後に次のテキストを追加します。

smc.version =“ 0”

ステップ6:起動してください

ふう、なんて大変な仕事だ。これで、インストールを機能させることができます。

youあなたが私を始めたら、私は決して止まらない♫

問題はないはずです。豪華なAppleロゴが見えるはずです。

(YMMV)

そして、言語選択画面。

言語選択画面

独自の言語を選択します。次に、[ユーティリティ]-> [ディスクユーティリティ]をクリックする必要があります。仮想ディスクをHFSにフォーマットします。

そうすることのビデオを見てください:https://puu.sh/w46Pj/a5a7f8ff5d.webm

その後、インストールを続行できます。通常、それを行うには約20分かかります。長時間続く待機中に、コーヒーを準備して手に取り、最後まで待ちます。終了後に自動再起動がスケジュールされ、ようこそ画面が表示されます。

実際の動作を見る:https://puu.sh/w46Pw/519687fc0d.webm

ステップ7:セットアップ

ようこそ画面

通常は新しいMacで行うように仕上げます。ただし、位置情報サービスを有効にせず、Apple IDにまだサインインしないでください。 Appleにデータを送信しないでください。また、Hackintoshのセットアップの隠蔽を強化しないでください。

VMWare Toolsもインストールする必要があります。ファインダーでOSX Base Systemドライブをアンマウントします。次に、[プレーヤー]-> [管理]-> [VMWareツールのインストール]をクリックします。これをインストールすると、パフォーマンスが大幅に向上しますが、それでも私たちの目にはほとんど実行されません。

これを参照してください:https://puu.sh/w4a2m/314480bc99.webm

おめでとうございます!これで、完全に機能するHackintosh仮想マシンが手元にあります!開発者セクションに移ります…

Hackintosh側でいくつかの重要なソフトウェアをセットアップしようとしています...

必要になります…

醸造。もちろん。 NodeJSおよびNPMおよびReact Nativeの場合。

私のように共有を使用しない限り、パッケージのインストール時間を短縮するためにヤーン。

React Native HostをコンパイルするXcode。

ステップ1:Xcodeをインストールする

これにはApple IDが必要です。開発者ではなく、普通のIDで構いません。

ビデオを見る:

https://puu.sh/w4b8y/665e3fa868.webm

https://puu.sh/w4b8t/07ceee8b38.webm

終了するまで待ちます。それほど長くはかからないはずですが、NAT有線インターネットアクセスがあります。 Safariまたは他のアプリをプレイしますか? (恐ろしいパフォーマンスにもかかわらず)

ステップ2:BrewとNode(およびYarnとRN)をインストールする

最初にコマンドを取得するには、上のリンクをクリックしてください。

まあ、これは簡単なはずです。 VMWare Toolsをインストールした場合、クリップボードはデフォルトで双方向であるため、Windows側にコピーしてMac側にダンプできます。

ターミナルを開き、Brewが指定したコマンドを貼り付けます。パスワードを入力してインストールを許可します。すべて自動化され、10分以内に完了します。

これを例として取り上げます:https://puu.sh/w4atb/acbf000b84.webm

(WinKey + Spaceを押してSpotlight検索を開き、WinKey + Vを押して貼り付けます)

NodeとNPMのインストール:

$ nodejsを作成する

https://puu.sh/w4aOv/f6b6e35234.webm

Yarnのインストール:

$ brew install yarn

https://puu.sh/w4aOb/0eb124b1d5.webm

RNをインストールします。

$ npm -g install react-native-cli

https://puu.sh/w4aSC/5524d0705b.webm

ステップ3:プロジェクトに参加する

とりあえず、元のリポジトリをコピーしていませんが、代わりに新しいRNプロジェクトを作成しました。プロジェクトを移動した場合、すべてが完全にセットアップされます。

プロジェクトを実行するには2つの方法があります。方法1:プロジェクトフォルダーに移動し、iosをクリックし、xcodeprojを開き、Xcode IDEの実行ボタンをクリックします。方法2:ターミナルのプロジェクトフォルダーに移動し、「react-native run-ios」と入力して、完了です。

最終ステップ:シミュレーターを実行する

成功!完璧に動作しています!わーい!

ホットリロードを有効にし、コードを変更して、変更されるかどうかを確認できます。

その後、すべてが魅力のように動作するはずです!

やった! (コマンドキー== Windowsキーを忘れないでください)

私は物理デバイスでそれらを実行しようとしませんでしたが、理論的にはUSBパススルーが必要なだけで、XcodeまたはiTunesはデバイスを認識できるはずです。

その間の合法性は言うまでもなく、このHackintoshは、高価なMac Pro / MacBook Proを購入することなく、WindowsでiOSを開発するためのかなり派手なハックだと思います。

ウルトラブック、Dell XPS 15、ZenBookなどのベアメタルハードウェアに実際のHackintoshディストリビューションをインストールすることもあります。その場合、同じことを実現できますが、より危険であり、Windows環境が失われます(デュアルブートを有効にしていない限り—私たちのほとんどはそうではありません)。

RNチームがMac / Windows開発者向けの新しいツールキットをリリースして、最も快適なツールを引き続き使用しながら、より良い開発体験を得るのを楽しみにしています。彼らは面白いアイデアだと言い、PRを待っています。

これが私の答えだとは思わない。とにかく、この記事を読んでくれてありがとう(もっとチュートリアルのように)。あなたのアイデアを共有する寛大さがあるなら、もっと簡単になるはずです、コメントセクションでそうしてください、あなたの反応を楽しみにしています。ハックで良い一日を!

(13/1に編集)

ご挨拶!これを書いてから長い時間がかかったと思います。今、Hackintosh VMでのモバイルアプリの開発に関するまったく新しい世界を発見しました。 React Nativeの最近の進歩のおかげで、Expoとホストオンリー接続を活用することで、さらに甘い開発環境を構築できるため、最終的にWindowsでホストされるIDEとバンドルサーバーを選択できます。

これは、前述のチュートリアルのステップ3をオーバーライドします。また、VMをiOS開発に完全に没入させるもう1つのトリックも紹介します。

基本的には、CRNAとExpo / React Nativeの最新バージョン(執筆時点で0.52と言えば)が必要です。それだけです。 CRNAでブートストラップされた既存のアプリがある場合、問題なく動作する可能性があります。

とても簡単です。 (Yarnを使用すると想定しますが、NPMの場合も同様です)PowerShellまたはCMDを使用して、WindowsでCRNAパッケージャーを起動します。

Windows $ yarn runの開始
...
ライブリロードでアプリを表示するには、ExpoアプリでこのQRコードを指定します。
QRスキャナーは、アプリの[プロジェクト]タブにあります。

または、Expoアプリの検索バーにこのアドレスを入力します。
exp:// <編集済み>:19000
電話は、このコンピューターと同じローカルネットワーク上にある必要があります。
Expoアプリをインストールするためのリンクについては、https://expo.ioにアクセスしてください。
アプリの提供からのログがここに表示されます。停止するには、いつでもCtrl + Cを押します。
› aを押して、Androidデバイスまたはエミュレーターを開きます。
 › qを押してQRコードを表示します。
 › rを押してパッケージャーを再起動するか、Rを押してパッケージャーを再起動してキャッシュをクリアします。
 › dを押して、開発モードを切り替えます。 (現在のモード:開発)

これが、使用しているポートになります。

次に、ホストアドレスを試してみてください。 (異なるマシンには異なるIP、YMMVがあります)

OSXVM $ ifconfig
...
en0:flags = 8863  mtu 1500
options = b 
エーテル00:0c:29:a1:d7:8e
inet6 fe80 :: cfe:e149:421e:601a%en0 prefixlen 64セキュアスコープID 0x4
inet 192.168.67.128 netmask 0xffffff00 broadcast 192.168.67.255
nd6 options = 201 
メディア:自動選択(1000baseT <全二重>)
ステータス:アクティブ

私にとって、これはホストアドレスです。ただし、最後のバイトを破棄して1を追加する必要があります。

したがって、ここでのホストIPは192.168.67.1。です。最初にメモしてください。

次に、Appleのエンジニアが作成した秘密のソースを有効にします。

XCode 9以降、Mac HDのルートに単純なディレクトリを作成することで、iOSシミュレーターの内部メニューにアクセスできます。古いバージョンにはこの機能はありません。

最初にすべてのシミュレーターを閉じます。次に、これを端末に入力するだけです。

OSXVM $ sudo mkdir / AppleInternal
(あなたのパスワード)

それでおしまい!次に、シミュレーターを起動して内部メニューが存在するかどうかを確認し、これを探します。

実際、これは実際のMacにも共通です!この内部メニューの情報については、この中記事をご覧ください。ただし、フルスクリーンモードに重点を置いています。これが、実際にXCodeを新しい仮想デスクトップのシミュレーターと一緒に使用できる理由です。

権限の問題、特にHigh Sierraユーザーの場合は、このフォルダーを回復モードで作成する必要があります。 [ユーティリティとターミナル]をクリックするだけで、メインのMac HDを再配置する必要があります。同様に機能します。

次に、Expo Clientを(いずれか1つの)シミュレーター環境にインストールします。

この手順は非常に簡単なので、代わりにExpoの公式ドキュメントからこれを読むことをお勧めします。

Expoアプリをインストールしたら、シミュレーターで開きます。

次に、[プラス]をクリックしてホストアドレスを入力しますが、最初にエキスポが認識できる形式にフォーマットする必要があります。

形式は次のとおりです。

exp:// <ホストIPアドレス>:<ホストポート>

私にとっては「exp://192.168.67.1:19000」です

[開く]をクリックし、Windows Dev PC側でバンドルがビルドされていることを確認したら、おめでとうございます。アプリシミュレーター環境を取得できます。ただし、HMRはデフォルトではオンではなく、ライブリロードです。必要な場合は、[ハードウェア]-> [Shake Gesture]を選択して変更します。

最後のステップは、フルスクリーンモードをアクティブにして、より没入感のあるものにすることです。内部メニューの項目をクリックするのが簡単で簡単な場合は、緑色の全画面ボタンをクリックするだけです。

https://giant.gfycat.com/AncientPepperyAdamsstaghornedbeetle.mp4

以上です! Genymotionを一緒に使用することもできます!これにより、生産性が大幅に向上します。

https://giant.gfycat.com/EnergeticUltimateAntlion.mp4

これでアップデートは終了です。あなたが旅で幸せであることを願っています! Expoは確かに強力なツールであり、私たちはそれを大事にする必要があります。無料のランチはありません。 Expoプロジェクトへの寄付を検討してください。彼らはプロジェクトを維持し、(ビルド)サーバーに支払いをすることに熱心です! (残念ながら、彼らはまだこれを行う方法を提供していませんでした)

そして、アップル、どうぞ、あなたの弁護士に私に連絡して法的トラブルに巻き込まれるように言わないでください。