كيفية تطوير تطبيقات React Native iOS في Windows باستخدام Hackintosh (جيدًا ، نوع من)

مرحبا متوسطة! هذه هي قصتي الأولى ، لكنني أود الدخول مباشرة في اللعبة.

لقد أصبت بالإحباط لأنني طلبت من جهاز Mac و iPhone فعليًا تطوير نظام iOS React Native.

أعني ، لدي MacBook و iPhone ، لدي. واضطررت إلى مشاركة الريبو الخاص بي على جهاز MacBook الخاص بي ، ثم قم بتشغيل React Native Builder و React Native Packager ، وهو مطول عرجاء نوعًا ما. بوو.

علاوة على ذلك ، أريد أن أعمل في محطة عمل ، ولدي محطة عمل Xeon ومن المحزن أن أقول وداعاً للوحة المفاتيح والماوس الخاصين بي ، وبالتالي وداعًا للإنتاجية.

حتى Xamarin قدمت جهاز محاكاة يعمل عن بعد لنظام التشغيل iOS ووكيل بناء حتى نتمكن من الاستمتاع بالتطوير على جهاز الكمبيوتر الرئيسي الخاص بنا ومن ثم الضغط على بيئة نظام التشغيل Mac عن بُعد. وأشك في أن فريق RN سيكون لديه النسيم لتحقيق ذلك.

لذلك ضغطت على بعض من قوة عقلي وأخيراً خرجت من حل ، وهو أحمق للغاية ومجنون وكسل. وإليك النقاط التي فكرت فيها:

The Good 1: إنه يعمل عالميًا ، في أي أجهزة كمبيوتر x86_64 بت مزودة بتقنية Virtualization ، نظرًا لأنك اتبعت الخطوات بوضوح.

الخير 2: يمكنك التخلص من البيئة بسهولة. يمكنك أيضًا استنساخ بيئة ونقلها إلى مكان آخر.

السيئة 1: إنه ، فقط ، يعمل!

السيئة 2: لا أوصيك بتشغيل أي برامج Mac أخرى تتجاوز XCode.

السيئة 3: لا تتوقع تشغيل وحدات المعالجة المركزية AMD بشكل كبير.

The Ugly 1: تحتاج إلى جهاز كمبيوتر سمين وحشي للغاية للحصول على جزء بسيط من الأداء على جهاز Mac حقيقي.

Ugly 2: لا يوجد تسارع في الأجهزة ، لذلك لا تتوقع تشغيل وتصحيح سياق OpenGL ES معها.

إذا كنت رجلاً حقيقياً ، فاحصل على جهاز Mac. وإلا سنكتشف الرحلة إلى Hack-in-to-sh!

(تحذير: تعتبر ممارسة Hackintosh انتهاكًا لـ EULA لكل من Apple Software and Hardware ، وقد تواجه تهمًا وقضايا ، على الرغم من حقيقة أنه لم يكن هناك أحد في السنوات العشر الماضية ولكن الشركة تفعل ذلك ، ومع ذلك فنحن لسنا مقيدين بالقيام أي شيء مع جهاز الكمبيوتر الخاص بنا ، بما في ذلك تثبيت أنظمة التشغيل المختلفة ، لذا استعد لنفسك وتقرر ما إذا كنت ترغب في الاستمرار في التنقل في منطقة رمادية قانونية)

المتطلبات المسبقة

كما ذكرت من قبل ، فأنت بحاجة فعليًا إلى كمبيوتر قوي وقوي جدًا! لدي محطة عمل Xeon ، لكنها بالكاد تعمل بشكل جيد ، تخيل أي نوع من كابوس كان للحصول على صخب ، إيه؟

تحتاج أيضًا إلى SSD ، ما لم يكن لديك الصبر للانتظار أكثر من 5 دقائق للوصول إلى جهاز Mac VM باستخدام محرك الأقراص الثابتة.

انتظر دقيقة! VM. هم ... آلة افتراضية؟ هل خمنت أن الأمر ليس كذلك؟ هذا صحيح ، سنحتاج إلى برنامج VMWare لهذا الغرض.

الخطوة 1: إحضار صورة تثبيت Mac

حسنًا ، بدون هذا لن نكون قادرين على فعل أي شيء ...

إذا كان لديك صديق لديه جهاز Mac ، فعليك استعارة آليته ...

تنزيل macOS Sierra من App Store ...

اتصل بالإنترنت وابحث عن طقوس نسخ صورة التثبيت هذه إلى نموذج DMG / ISO محمول.

لن أفصح عن هذه الطريقة ، لأنني لا أريد أن أواجه أي مشاكل ~ ¯ \ _ (ツ) _ / ¯

قم بنقل ملف DMG / ISO النهائي إلى جهاز الكمبيوتر الرئيسي. بالطبع سنحتاجها ، أو كيف ...

الخطوة 2: تنزيل برنامج VMWare Player

ما لم يكن لديك برنامج VMWare Workstation ، الذي لا يتمتع به معظمنا ، فسنضطر إلى متابعة تنزيل برنامج VMWare Player.

فقط تثبيته. يجب أن يكون هناك أي مشاكل على الإطلاق.

الخطوة 3: تنزيل أونلوكر

حسنا ، هذا هو الاختراق الأول لدينا.

بشكل أساسي ، قام VMWare بتأمين الخيارات الأساسية التي تمنع OSX و EFI من التشغيل والتعاون معًا (القرص الثابت أو المسلسل أو SMB أو ما إلى ذلك) التي تعمل على أي مثيلات جهاز ظاهرية على جميع برامج VMWare hypervisor ولكن VMWare Fusion.

لذلك يتعين علينا "فتحها" عن طريق تصحيح بعض الأشياء من أجل تشغيل Hackintosh.

بعد تنزيل الملفات من خلال النقر فوق "استنساخ أو تنزيل" ، قم بفك ضغطها ، ابحث عن الملفات المسماة "win-install.cmd" و "win-update-tools.cmd".

انقر بزر الماوس الأيمن فوق "win-install.cmd" وحدد "Run as Administrator" ، وكذلك الأمر "win-update-tools.cmd". هذا مطلوب للوصول إلى "تسجيل Windows" وإيقاف خدمات VMWare من أجل إجراء الترقيع.

الخطوة 4: إنشاء جهاز افتراضي جديد

افتح برنامج VMWare Player الخاص بك وفقط في القائمة ، حدد إنشاء جهاز افتراضي جديد.

ثم حدد ملف صورة قرص المثبت الذي قمت بنقله للتو من قبل.

سنحتاج بعد ذلك إلى تحديد "Apple Mac OS X" واختيار الإصدار المناسب. هنا على سبيل المثال ، أنا أستخدم macOS Sierra ، لذلك كان "macOS 10.12" ، إذا كنت تستخدم El Capitan أو Yosemite ، فقم بالحصول على الإصدار الصحيح.

اذهب تمر كل هذه الخيارات. تذكر أن تقوم بتكوين جهاز VM الخاص بك ، لقد قمت بتغيير التهم الأساسية ، لكن في معظم الوقت كان موافقًا للكتلة.

الخطوة 5: تعديل ملف .vmx

سيتعين علينا تجاوز القيود المفروضة بواسطة برنامج VMWare التي ذكرتها في الخطوة 3. وسيتعين علينا إضافة إدخال إلى ملف تكوين الجهاز الظاهري. أو ستواجه تفريغًا أساسيًا أثناء إطلاق VM.

بشكل افتراضي ، يوجد في ‘~ / Documents / Virtual Machine / <أدخل اسم VM الخاص بك> / <أدخل اسم VM الخاص بك> .vmx 'إذا لم تقم بتغيير الموقع.

افتحه وأضف النص التالي في نهاية الملف:

smc.version = "0"

الخطوة 6: ابدأ Me Up

يا للعجب ، يا له من عمل شاق هنا. حان الآن وقت عمل التثبيت.

♫ إذا ​​قمت ببدء تشغيلي ، فلن أتوقف أبدًا

يجب أن يكون هناك أي مشاكل على الإطلاق. يجب أن تكون قادرًا على رؤية شعار Apple الهوى.

(YMMV)

وشاشة اختيار اللغة.

شاشة اختيار اللغة

اختر لغة خاصة بك. ثم سيتعين علينا النقر فوق أدوات -> أداة القرص. قم بتهيئة القرص الظاهري إلى HFS.

شاهد فيديو القيام بذلك: https://puu.sh/w46Pj/a5a7f8ff5d.webm

ثم يمكننا المضي قدما لتثبيته. عادة ، يستغرق حوالي 20 دقيقة العش للقيام بذلك. خلال فترة الانتظار الطويلة ، قم بتجهيز فنجان قهوة وتناولها وانتظر حتى النهاية. تتم جدولة إعادة التشغيل التلقائي بعد النهاية ، وسترى شاشة الترحيب.

انظر في العمل: https://puu.sh/w46Pw/519687fc0d.webm

الخطوة 7: ضبطني

شاشة الترحيب

قم بإنهائه كما تفعل عادةً مع جهاز Mac جديد. لا تقم بتمكين خدمة الموقع ولا تسجّل الدخول إلى Apple ID حتى الآن. لا ترسل أي بيانات إلى Apple وكذلك لزيادة إخفاء إعداد Hackintosh.

سيتعين علينا تثبيت أدوات VMWare أيضًا. قم بإلغاء تحميل محرك أقراص نظام OSX الأساسي في الباحث. ثم انقر فوق Player-> إدارة-> تثبيت أدوات VMWare. من خلال تثبيت هذا يمكنك الحصول على دفعة هائلة في الأداء ، ولكن لا يزال يعمل بالكاد في أعيننا.

انظر هذا: https://puu.sh/w4a2m/314480bc99.webm

تهانينا! لديك آلة افتراضية Hackintosh تعمل بكامل طاقتها في يدك الآن! سننتقل الآن إلى قسم المطورين ...

نحن على وشك إعداد بعض البرامج الأساسية على جانب Hackintosh ...

سنحتاج ...

المشروب. بالطبع بكل تأكيد. ل NodeJS و NPM والتفاعل الأصلي.

غزل لتسريع وقت تثبيت الحزمة لدينا إلا إذا كنت تستخدم مشاركتها كما أفعل.

Xcode لتجميع React Native Host.

الخطوة 1: تثبيت Xcode

أنت بحاجة إلى معرف Apple لهذا ، ليس هو المطور ، فالأمر العادي جيد.

شاهد مقاطع الفيديو:

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

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

انتظر حتى ينتهي. يجب ألا تستغرق وقتًا طويلاً ، لديك اتصال إنترنت سلكي من NAT. هل ترغب في لعب Safari أو بعض التطبيقات الأخرى؟ (على الرغم من الأداء الرهيب)

الخطوة 2: تثبيت Brew و Node (و Yarn و RN)

انقر على الرابط أعلاه للحصول على الأمر أولاً.

حسنا ، هذا يجب أن يكون سهلا. نظرًا لأنك قمت بتثبيت أدوات VMWare ، فإن الحافظة ثنائية الاتجاه بشكل افتراضي ، لذا يمكنك نسخها في جانب Windows وإفراغها في جانب Mac.

فتح المحطة ولصق الأمر الذي قدمه المشروب. أدخل كلمة المرور للسماح بالتثبيت. جميعها ستكون آلية ويجب أن تكون في أقل من 10 دقائق.

خذ هذا كمثال: https://puu.sh/w4atb/acbf000b84.webm

(اضغط على مفتاح WinKey + Space لفتح بحث في دائرة الضوء ، اضغط على مفتاح WinKey + V للصقه)

تثبيت العقدة و NPM:

$ الشراب تثبيت nodejs

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

تركيب الغزل:

الشراب $ تثبيت الغزل

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

تثبيت RN:

$ npm -g تثبيت react-native-cli

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

الخطوة 3: احصل على مشروعك

في الوقت الحالي ، لم أقم بنسخ الريبو الأصلي الخاص بي ، لكني قمت بإنشاء مشروع RN جديد بدلاً من ذلك. إذا قمت بنقل مشروعك ، فسيكون لديك كل شيء جاهز تمامًا.

لديك طريقتان لتشغيل المشروع الخاص بك ؛ الأسلوب 1: انتقل إلى مجلد المشروع الخاص بك ، انقر فوق ios ، افتح xcodeproj ، انقر فوق الزر "تشغيل" في Xcode IDE ؛ الطريقة الثانية: انتقل إلى مجلد المشروع في الجهاز الطرفي ، وأدخل "نظام التشغيل الأصلي للتفاعل" و poof.

الخطوة الأخيرة: تشغيل جهاز محاكاة

نجاح! إنه يعمل بشكل مثالي! ياي!

يمكنك محاولة تمكين التحديث السريع وتعديل بعض التعليمات البرمجية ومعرفة ما إذا كان يتغير.

بعد ذلك ، يجب أن يكون كل شيء يعمل مثل السحر!

الصيحة! (تذكر ، مفتاح الأوامر == مفتاح Windows)

لم أحاول تشغيلها على الأجهزة المادية ، لكن من الناحية النظرية تحتاج فقط إلى عبور USB ، ويجب أن يكون Xcode أو iTunes قادرين على التعرف على أجهزتك.

لذا ناهيك عن الشرعية بين ، وأعتقد أن هذا Hackintosh هو اختراق هائل للغاية للحصول على تطوير iOS في Windows دون شراء Mac Pro / MacBook Pro مبالغ فيه.

قد يثبت البعض أيضًا توزيعة Hackintosh الفعلية في الأجهزة المعدنية العارية مثل تلك الموجودة في أجهزة Ultrabooks ، Dell XPS 15 أو ZenBook ، وبهذه الطريقة يمكن تحقيق نفس الشيء ، لكنه أكثر خطورة وفقدت بيئة Windows لديك (إلا إذا قمت بتمكين التمهيد المزدوج - معظمنا لا).

أتطلع إلى رؤية فريق RN يطلق مجموعة أدوات جديدة لـ devs Mac / Windows للحصول على تجربة تطوير أفضل مع الاستمرار في استخدام الأدوات الأكثر راحة الخاصة بنا. يقولون إنها فكرة مثيرة للاهتمام وتنتظر العلاقات العامة.

أشك في أن هذا هو جوابي على هذا. على أي حال ، شكرا لك على قراءة هذا المقال (أشبه تعليمي). من المؤكد أنه سيكون من الأسهل إلى حد ما ، إذا كان لديك الكرم لمشاركة فكرتك ، فيرجى القيام بذلك في قسم التعليقات ، وأتطلع إلى رؤية رد فعلك. أتمنى لك يومًا سعيدًا مع الخارقة!

(تم التعديل في 13/1)

تحية طيبة! أعتقد أن الأمر قد مضى وقت طويل منذ أن كتبت هذا. الآن ، لقد اكتشفت عالمًا جديدًا بالكامل فيما يتعلق بتطوير تطبيقات الأجهزة المحمولة في Hackintosh VM. بفضل التقدم الأخير في React Native واستغلال Expo واتصال المضيف فقط ، يمكننا توفير بيئة تطوير أكثر حلاوة حتى تتمكن أخيرًا من اختيار IDE وخادم الحزمة المستضافة في Windows.

هذا سيتخطى الخطوة 3 في البرنامج التعليمي الذي ذكرته أعلاه. سأقدم لك أيضًا خدعة أخرى لجعل VM غامرة تمامًا بتطوير iOS.

في الأساس ، تحتاج فقط إلى CRNA وأحدث إصدار من Expo / React Native (يتحدث عن 0.52 في وقت الكتابة) ، هذا كل شيء. إذا كان لديك تطبيق موجود تم تمهيده تحت CRNA ، فقد يعمل بشكل لا تشوبه شائبة أيضًا.

انه بسيط جدا. (أفترض أنك ستستخدم Yarn ، يجب أن تكون مشابهًا لـ NPM) ابدأ تشغيل أداة حزم CRNA في Windows ، باستخدام PowerShell أو CMD:

بدء تشغيل Windows $ الغزل
...
لعرض تطبيقك مع إعادة التحميل المباشر ، قم بتوجيه تطبيق Expo إلى رمز الاستجابة السريعة هذا.
ستجد ماسح QR في علامة تبويب "المشاريع" في التطبيق.
<رمز الاستجابة السريعة>
أو أدخل هذا العنوان في شريط بحث تطبيق Expo:
إكسب: // <حذف باقي الكلام>: 19000
يجب أن يكون هاتفك على نفس الشبكة المحلية مثل هذا الكمبيوتر.
للحصول على روابط لتثبيت تطبيق Expo ، يرجى زيارة https://expo.io.
ستظهر السجلات من خدمة تطبيقك هنا. اضغط على Ctrl + C في أي وقت للتوقف.
›اضغط على لفتح جهاز أو محاكي Android.
 ›اضغط q لعرض رمز الاستجابة السريعة.
 ›اضغط r لإعادة تشغيل الرابط ، أو R لإعادة تشغيل الرابط وإلغاء تحديد ذاكرة التخزين المؤقت.
 ›اضغط د لتبديل وضع التطوير. (الوضع الحالي: تطوير)

سيكون هذا المنفذ الذي نستخدمه.

ثم ، حاول العثور على عنوان المضيف الخاص بك. (آلة مختلفة لها IP مختلفة ، YMMV)

OSXVM $ ifconfig
...
en0: الأعلام = 8863  mtu 1500
خيارات = ب 
الأثير 00: 0c: 29: a1: d7: 8e
inet6 fe80 :: cfe: e149: 421e: 601a٪ en0 prefixlen 64 secure domainid 0x4
آينت 192.168.67.128 netmask 0xffffff00 البث 192.168.67.255
خيارات nd6 = 201 
الوسائط: autoselect (1000baseT )
الحالة: نشطة

بالنسبة لي ، هذا هو عنوان المضيف. لكنك تحتاج إلى تجاهل البايت الأخير وإلحاق 1.

وبالتالي فإن عنوان IP المضيف هنا هو 192.168.67.1. خذ ملاحظة منه أولاً.

بعد ذلك ، سوف نقوم بتنشيط الصلصة السرية التي صنعها مهندسو أبل.

بدءًا من XCode 9 ، من خلال إنشاء دليل بسيط في جذر جهاز Mac HD ، يمكنك الوصول إلى القائمة الداخلية لجهاز iOS Simulator. لا تحتوي الإصدارات الأقدم على هذه الميزة AFAIK.

أغلق كل أجهزة المحاكاة الخاصة بك أولاً. ثم ببساطة اكتب هذا في محطة الخاص بك.

OSXVM $ sudo mkdir / AppleInternal
(كلمة السر خاصتك)

هذا هو! تحقق الآن مما إذا كانت القائمة الداخلية موجودة من خلال بدء تشغيل جهاز محاكاة وابحث عن هذا:

في الواقع ، هذا عالمي لأجهزة Mac حقيقية أيضًا! للحصول على معلومات من هذه القائمة الداخلية ، تحقق من هذه المادة المتوسطة. لكننا نركز بشكل أكبر على وضع ملء الشاشة ، وهذا في الواقع هو السبب في إمكانية إحضار XCode إلى جانب جهاز محاكاة في سطح مكتب افتراضي جديد:

إذا كانت لديك أي مشكلة في الإذن ، لا سيما مستخدمي High Sierra ، فستحتاج إلى إنشاء هذا المجلد في "وضع الاسترداد". ما عليك سوى النقر فوق Utility و Terminal ، ولكن ستحتاج إلى نقل Main Mac HD ، وسوف يعمل كذلك.

الآن ، سنشرع في تثبيت عميل Expo Client على (أي واحدة من) بيئة المحاكاة.

هذه الخطوة تافهة للغاية ، لذا أوصيك بقراءة هذا من المستند الرسمي لمعرض Expo بدلاً من ذلك:

بمجرد تثبيت تطبيق Expo ، افتحه في Simulator.

ثم ، انقر فوق "علامة زائد" واكتب عنوان مضيفك ، ولكن أولاً ، سنحتاج إلى تنسيقه وفقًا لما يمكن أن يتعرف عليه المعرض:

التنسيق هو:

exp: // <عنوان IP المضيف>: <منفذ المضيف>

بالنسبة لي هذا هو: "exp: //192.168.67.1: 19000"

انقر فوق "فتح" ، وإذا رأيت الحزمة قيد الإنشاء في جانب Windows Dev PC ، ثم CONGRATULATIONS ، فستتمكن من الحصول على بيئة محاكاة التطبيق. ومع ذلك ، HMR ليست قيد التشغيل ، ولكن يتم تحديث Live افتراضيًا. إذا كنت بحاجة إلى ذلك ، انتقل الأجهزة> اهتز لفتة وتغييره.

الخطوة الأخيرة هي تنشيط وضع ملء الشاشة لجعلها أكثر غامرة. إذا كان النقر فوق عنصر ما في القائمة الداخلية أمرًا سهلاً وسهلاً بالنسبة لك ، فما عليك سوى النقر فوق زر ملء الشاشة الأخضر.

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

وهذا كل شيء! هل يمكن أن يكون حتى Genymotion العمل جنبا إلى جنب! هذا هو دفعة كبيرة جدا للإنتاجية!

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

هذه هي نهاية التحديث. آمل أن تكون سعيدا في الرحلة! المعرض هو في الواقع أداة قوية ونحن بحاجة إلى الاعتزاز به. لا يوجد شيء مثل وجبة غداء مجانية. يرجى النظر في التبرعات لمشروع المعرض. إنهم حريصون على المال للحفاظ على المشروع ودفع خادمهم (البناء)! (للأسف لم يقدموا طريقة للقيام بذلك بعد)

ورجاءً ، Apple ، لا تخبر محاميك بالاتصال بي ودخولي في المشاكل القانونية.