React Native iOS Uygulamalarının Geliştirilmesi Windows'ta Hackintosh ile (iyi, sıralar)

Merhaba Orta! Yani bu benim ilk hikayem, ama doğrudan oyuna girmek istiyorum.

Biraz hayal kırıklığına uğradım, iOS React Native geliştirmesini yapmak için fiziksel bir Mac ve iPhone'a ihtiyacım vardı.

Yani, MacBook'um ve iPhone'um var. Repo'yu MacBook'umla paylaşmak zorunda kaldım ve daha sonra ayrıntılı ve topal olan React Native Builder ve React Native Packager'ı çalıştırın. Boo.

Ayrıca, bir iş istasyonunda çalışmak istiyorum, bir Xeon iş istasyonum var ve üzücü, klavyeme ve fareme elveda ve bu yüzden de üretkenliğe elveda demek zorunda kaldım.

Xamarin bile bir ana iOS Simülatörü ve yapım aracı sundu, böylece ana PC'mizde geliştirmenin keyfini çıkarabildik ve daha sonra uzak Mac ortamımıza taşıyabildik. Ve RN ekibinin bunun gerçekleşmesi için bir esinti olacağından şüpheliyim.

Bu yüzden beyin gücümün bir kısmını sıktım ve sonunda çok, çok çılgınca, çılgın ve tembel olan bir çözümden çıktım. Ve işte düşündüğüm noktalar:

İyi 1: Tüm adımları net bir şekilde takip ettiyseniz, Sanallaştırmanın etkin olduğu tüm x86_64 bit PC'lerde evrensel olarak çalışır.

İyi 2: Çevreyi kolayca elden çıkarabilirsiniz. Ayrıca bir ortamı klonlayabilir ve başka bir yere taşıyabilirsiniz.

Kötü 1: O, Sadece Çalışıyor!

Kötü 2: XCode dışındaki diğer Mac programlarını çalıştırmanızı önermiyorum.

Kötü 3: AMD işlemcilerin bu konuda fazla çalışmasını beklemeyin.

Çirkin 1: Gerçek Mac'te performansın sadece bir kısmını elde etmek için bunun için çok etli ve canavar bir bilgisayara ihtiyacınız var.

Çirkin 2: Donanımda hızlanma yok, bu yüzden OpenGL ES içeriğini çalıştırmayı ve hata ayıklamayı beklemeyin.

Eğer gerçek bir erkeksen, bir Mac kazan. Aksi halde, şimdi Hack-in-to-sh'a olan yolculuğu keşfedeceğiz!

(Uyarı: Hackintosh Uygulaması, Apple Yazılımının ve Donanımının EULA'sının bir ihlalidir ve son 10 yılda kimsenin olmamasına rağmen, bir şirketin yapmasına rağmen, sınırlı olmamakla birlikte, suçlamalar ve davalarla karşılaşabilirsiniz) çeşitli işletim sistemleri kurmak da dahil olmak üzere, bilgisayarımızdaki herhangi bir şey, bu nedenle kendinizi güçlendirin ve yasal bir gri bölgeye adım atmaya devam etmek isteyip istemediğinize karar verin)

Önkoşul

Daha önce de bahsettiğim gibi, gerçekten çok güçlü ve güçlü bir bilgisayara ihtiyacınız var! Bir Xeon iş istasyonum var, ancak zorlukla çalışıyor, acele etmek için nasıl bir kabus olduğunu hayal et, ha?

Ayrıca, HDD’nizle Mac VM’nize girmek için 5 dakikadan fazla beklemeye sabrınız yoksa, bir SSD’ye ihtiyacınız vardır.

Bir dakika bekle! VM. Hmm… Sanal makine? Öyle olmadığını tahmin ettin mi? Doğru, bunun için VMWare'e ihtiyacımız var.

1. Adım: Mac yükleme görüntüsünü alın

Eh, bu olmazsa hiçbir şey yapamazdık…

Mac'i olan bir arkadaşınız varsa, makinesini ödünç alın.

MacOS Sierra'yı App Store'dan indirin…

Çevrimiçi olun ve bu kurulum görüntüsünü taşınabilir DMG / ISO formuna kopyalamak için ayinleri bulun.

Böyle bir yöntemi ifşa etmeyeceğim, çünkü sıkıntı yaşamak istemiyorum ~ ¯ \ _ (ツ) _ / ¯

Son DMG / ISO dosyasını ana PC'nize aktarın. Tabii ki ihtiyacımız olacak, ya da nasıl…

Adım 2: VMWare Player'ı İndirin

Çoğumuzun sahip olmadığı VMWare Workstation'ınız yoksa, VMWare Player'ı indirmeye devam etmek zorunda kalacağız.

Sadece kur. Hiç sorun olmamalı.

Adım 3: Unlocker'ı İndirin

Tamam, bu bizim ilk hack'ümüz.

Temel olarak, VMWare, tüm VMWare hiper yönetici ve VMWare Fusion'daki tüm sanal makine örneklerinde çalışarak OSX ve EFI'nın birlikte çalışmasını ve birlikte çalışmasını (hardcode, seri, SMB, vb.) Önleyen temel seçenekleri kilitledi.

Bu yüzden Hackintosh’un çalışmasını sağlamak için birkaç şey ekleyerek ‘kilidini açmamız gerekecek”.

Dosyaları indirdikten sonra "Klonla veya indir" düğmesini tıklatarak açın, ‘win-install.cmd" ve "win-update-tools.cmd" adlı dosyaları bulun.

‘Win-install.cmd’ sağ tıklayın ve Administ Yönetici olarak Çalıştır’ı seçin, aynı ‘win-update-tools.cmd’ seçeneğini de seçin. Bu, Windows Kayıt Defteri'ne erişim kazanmak ve yama yapmak için VMWare hizmetlerini durdurmak için gereklidir.

Adım 4: Yeni Bir Sanal Makine Oluşturun

VMWare Player'ınızı açın ve hemen menüden Yeni Sanal Makine Oluştur'u seçin.

Ardından, daha önce aktardığınız yükleyici disk görüntü dosyasını seçin.

O zaman "Apple Mac OS X" i seçip uygun sürümü seçmemiz gerekecek. Burada, örneğin, macOS Sierra kullanıyorum, bu yüzden El Capitan veya Yosemite kullanıyorsanız doğru sürümü almak için “macOS 10.12” idi.

Git bütün bu seçenekleri geç. VM'nizi yapılandırmayı unutmayın, çekirdek sayıları değiştirdim, ancak çoğu zaman kütle için uygun oldu.

Adım 5: .vmx dosyasını modlama

3. adımda bahsettiğim VMWare tarafından getirilen sınırlamayı aşmamız gerekecek. Sanal makine yapılandırma dosyasına bir giriş eklemek zorunda kalacağız. Yoksa, VM'nin çalıştırılması sırasında çekirdek bir dökümü göreceksiniz.

Varsayılan olarak, konumu değiştirmediyseniz, Virtual ~ / Belgeler / Sanal Makine / / .vmx ’de bulunur.

Açın ve aşağıdaki metni dosyanın sonuna ekleyin:

smc.version = “0”

Adım 6: Beni Başlatın

Whew, burada ne zor bir iş. Şimdi kurulumun çalışmaya başlamasının zamanı geldi.

Me Beni başlatırsan asla durmayacağım ♫

Hiç problem olmamalı. Süslü Apple Logosunu görebilmeniz gerekir.

(YMMV)

Ve dil seçimi ekranı.

Dil seçim ekranı

Kendi dilini seçin. Ardından Yardımcı Programlar -> Disk Yardımcı Programı öğelerini tıklamamız gerekir. Sanal diski HFS olarak biçimlendirin.

Bunu yapmanın videosuna bakın: https://puu.sh/w46Pj/a5a7f8ff5d.webm

Sonra yüklemeye devam edebiliriz. Genellikle, yapmak için yaklaşık 20 dakika sürer. Uzun süren beklemede, kendinize bir fincan kahve hazırlayıp kapın ve sonuna kadar bekleyin. Sonundan sonra otomatik bir yeniden başlatma planlanıyor ve açılış ekranını göreceksiniz.

Eylemde görmek: https://puu.sh/w46Pw/519687fc0d.webm

Adım 7: Beni Ayarla

Karşılama ekranı

Tamamen yeni bir Mac ile yaptığınız gibi bitirin. Konum servisini etkinleştirmeyin ve yine de Apple kimliğine giriş yapmayın. Hackintosh kurulumumuzu gizlemenin yanı sıra Apple'a da hiçbir veri göndermeyin.

VMWare Tools'u da yüklememiz gerekecek. OSX Temel Sistem sürücünüzü bulucudan çıkarın. Ardından Player-> Manage-> VMWare Tools Install seçeneklerini tıklayın. Bunu kurarak performansta büyük bir artış elde edersiniz, ancak gözlerimizde zar zor koşarsınız.

Şuna bakın: https://puu.sh/w4a2m/314480bc99.webm

Tebrikler! Artık elinizde tamamen işlevsel bir Hackintosh sanal makinesi var! Şimdi geliştirici bölümüne geçeceğiz…

Hackintosh tarafımızda bazı temel yazılımları kurmak üzereyiz…

İhtiyacımız olacak…

Demlemek. Tabii ki. NodeJS ve NPM için ve Yerli Tepki.

Paket kurulum süremizi hızlandırmak için yaptığım ipliği siz benim gibi paylaşmadığınız sürece kullanın.

Xcode React Native Host ürününü derlemek için Xcode.

Adım 1: Xcode'u yükleyin

Bunun için bir Apple kimliği isteniyor, geliştirici değil, sıradan bir sorun yok.

Videolara bakın:

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

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

Tamamlanana kadar bekleyin. Çok uzun sürmemeli, NAT kablolu bir İnternet erişimine sahipsiniz. Safari veya diğer bazı uygulamaları oynamak ister misiniz? (Korkunç performansa rağmen)

Adım 2: Brew ve Düğüm (ve İplik ve RN) Kurun

Önce komutu almak için yukarıdaki bağlantıya tıklayın.

Peki, bu kolay olmalı. VMWare Araçları'nı kurduğunuzda, pano varsayılan olarak iki yönlüdür, böylece Windows tarafınıza kopyalayıp Mac tarafına aktarabilirsiniz.

Terminali açın ve Brew tarafından verilen komutu yapıştırın. Kuruluma izin vermek için şifrenizi girin. Hepsi otomatik olacak ve 10 dakikadan daha az bir süre içinde yapılmalıdır.

Bunu örnek olarak alın: https://puu.sh/w4atb/acbf000b84.webm

(Spotlight aramasını açmak için WinKey + Space tuşlarına basın, yapıştırmak için WinKey + V tuşlarına basın)

Düğüm ve NPM Kurulumu:

$ brew kurulum düğümü

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

İplik Takma:

$ brew iplik yüklemek

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

RN yükleyin:

$ npm -g kurulum reaksiyonu-native-cli

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

Adım 3: Projenize devam edin

Şimdilik, orijinal repoyu kopyalamamıştım ama onun yerine yeni bir RN projesi yarattım. Projenizi taşıdıysanız her şeyi mükemmel bir şekilde ayarladınız.

Projenizi yürütmek için iki yönteminiz var; Yöntem 1: Proje klasörünüze gidin, ios'a tıklayın, xcodeproj'u açın, Xcode IDE'deki çalıştır düğmesine tıklayın; Yöntem 2: Terminaldeki proje klasörünüze gidin, "tepki gösterme yerel ios" ve bitmiş işlem yapın.

Son adım: Run simülatör

Başarı! Mükemmel çalışıyor! Yuppi!

Yeniden yüklemeyi etkinleştirmeyi, bazı kodu değiştirmeyi ve değişip değişmediğini görmeyi deneyebilirsiniz.

Ondan sonra, her şey bir cazibe gibi çalışmalı!

Yaşasın! (Unutma, Komut tuşu == Windows tuşu)

Bunları fiziksel cihazlarda çalıştırmayı denemedim, ancak teoride sadece USB geçidine ihtiyacınız var ve Xcode veya iTunes cihazlarınızı tanıyabiliyor olmalı.

Bu nedenle aradaki yasallığı bir kenara bırakın, sanırım bu Hackintosh, Windows'ta overpriced Mac Pro / MacBook Pro satın almadan iOS geliştirmesi için oldukça süslü bir hack.

Bazıları, ultrabooklar, Dell XPS 15 veya ZenBook gibi çıplak metal donanımlara gerçek bir Hackintosh dağıtımı bile kurabilir, bu şekilde aynı şey elde edilebilir, ancak daha tehlikelidir ve Windows ortamınızı kaybettiniz (çift önyükleme özelliği etkin değilse - Çoğumuz yok).

RN ekibinin Mac / Windows geliştiriciler için daha iyi bir geliştirme deneyimi elde etmek için yeni bir araç seti hazırlamayı ve kendi başımıza en rahat araçları kullanmasını sabırsızlıkla bekliyorum. Bunun ilginç bir fikir olduğunu söylüyorlar ve PR'yi bekliyorlar.

Bunun buna cevabım olduğundan şüpheliyim. Her neyse, bu makaleyi okuduğunuz için teşekkür ederiz (bir öğretici gibi). Kesinlikle daha kolay olabilir, fikrinizi paylaşma cömertliğiniz varsa, lütfen yorum bölümünde, reaksiyonunuzu görmek için sabırsızlanıyorum. Hacklerimle iyi günler!

(13 / 1'de düzenlendi)

Selamlar! Sanırım bunu yazdığımdan bu yana çok zaman geçti. Şimdi, bir Hackintosh VM'de mobil uygulamalar geliştirmek için yepyeni bir dünya keşfettim. React Native'ın son gelişmesi ve Expo ve yalnızca ana bilgisayar bağlantısından yararlanarak daha da güzel bir geliştirme ortamına sahip olabiliriz, böylece en sonunda Windows'ta barındırılan IDE ve paket sunucusu seçiminizi yapabilirsiniz.

Bu, yukarıda bahsettiğim derste 3. Adımı geçersiz kılacak. Ayrıca, VM'yi iOS geliştirmeye tamamen sürükleyici kılmak için size bir numara daha tanıtacağım.

Temel olarak, sadece CRNA'ya ve Expo / React Native'in en son sürümüne (yazı yazarken 0,52) ihtiyacınız var. CRNA altında önyüklenen mevcut bir uygulamanız varsa, kusursuz da çalışabilir.

Çok basit. (İplik kullanacağınızı farz ediyorum, NPM için benzer olmalıdır) Windows'ta CRNA paketleyicinizi PowerShell veya CMD kullanarak başlatın:

Windows $ iplik çalıştırma başlangıcı
...
Uygulamanızı canlı yeniden yükleme ile görüntülemek için, Expo uygulamasını bu QR kodunun üzerine getirin.
QR tarayıcıyı uygulamanın Projeler sekmesinde bulabilirsiniz.

Veya bu adresi Expo uygulamasının arama çubuğuna girin:
exp: // : 19000
Telefonunuzun bu bilgisayarla aynı yerel ağda olması gerekir.
Expo uygulamasını yükleme bağlantıları için lütfen https://expo.io adresini ziyaret edin.
Uygulamanıza hizmet etmenin günlükleri burada görünecektir. Durdurmak için herhangi bir zamanda Ctrl + C tuşlarına basın.
›Android cihazı veya emülatörünü açmak için a tuşuna basın.
 ›QR kodunu görüntülemek için q düğmesine basın.
 ›Paketleyiciyi yeniden başlatmak için r düğmesine, paketleyiciyi yeniden başlatmak ve önbelleği silmek için R düğmesine basın.
 ›Geliştirme moduna geçmek için d tuşuna basın. (geçerli mod: geliştirme)

Bu kullandığımız liman olacak.

Ardından, ana bilgisayar adresinizi bulmaya çalışın. (Farklı makine farklı IP, YMMV var)

OSXVM $ ifconfig
...
en0: flags = 8863  mtu 1500
seçenekler = b 
eter 00: 0c: 29: -1: d7: 8e
inet6 fe80 :: cfe: e149: 421e:% 601a% tr öneki 64 güvenli kapsam 0
giriş 192.168.67.128 ağ maskesi 0xffffff00 yayın 192.168.67.255
nd6 seçenekleri = 201 
ortam: otomatik seçim (1000baseT )
durum: aktif

Benim için bu ana bilgisayar adresi. Ancak son baytı atıp 1 eklemeniz gerekir.

Yani burada ana bilgisayar IP 192.168.67.1. Önce bir not al.

Ardından, Apple mühendisleri tarafından yapılan gizli sosu aktive edeceğiz.

XCode 9'dan başlayarak, Mac HD'nizin kökünde basit bir dizin oluşturarak, iOS Simulator'un iç menüsüne erişebilirsiniz. Eski sürümlerde bu özellik AFAIK'a sahip değildir.

Önce tüm simülatörlerini kapat. Ardından bunu terminalinize yazın.

OSXVM $ sudo mkdir / AppleInternal
(Şifreniz)

Bu kadar! Şimdi bir simülatör başlatarak dahili menünün olup olmadığını kontrol edin ve şunu arayın:

Aslında, bu gerçek Mac'ler için de evrensel! Bu iç menünün bilgisi için bu Orta makaleye göz atın. Ancak, tam ekran moduna daha fazla odaklanıyoruz; bu, XCode'unuzu simülatörle birlikte yeni bir sanal masaüstüne getirebilmenizin nedenidir:

İzin probleminden herhangi biri, özellikle de Yüksek Sierra kullanıcıları varsa, bu klasörü Kurtarma Modunda oluşturmanız gerekecektir. Yardımcı Program ve Terminal'i tıklamanız yeterlidir, ancak Main Mac HD'nizi yeniden yerleştirmeniz gerekecek, aynı zamanda çalışacaktır.

Şimdi, Expo Client'ı simülatör ortamından birine kurmaya devam edeceğiz.

Bu adım çok önemsizdir, bu yüzden bunu Expo resmi belgesinden okumanızı tavsiye ederim:

Expo uygulamasını yükledikten sonra, Simulator'da açın.

Ardından, ‘Artı’yı tıklayın ve ana bilgisayar adresinizi yazın, ancak önce bunu expo'nun tanıyabileceği şekilde biçimlendirmemiz gerekir:

Format:

exp: // : 

Yani benim için bu: “exp: //192.168.67.1: 19000”

Aç seçeneğine tıklayın, Windows Dev PC tarafında oluşturulmuş bir paket görürseniz, ardından KONGRELER, kendinize uygulama simülatör ortamını sağlayabilirsiniz. Ancak, HMR açık değildir, ancak varsayılan olarak Canlı Yeniden Yükleme'dir. İhtiyacınız olursa, Git Donanım-> Jest Salla ve değiştirin.

Son adım, daha sürükleyici hale getirmek için tam ekran modunu etkinleştirmek. Dahili Menü'de bir öğeyi tıklamanız sizin için kolay ve önemsizdir, ardından yeşil tam ekran düğmesine tıklayın.

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

Ve bu kadar! Genymotion'un yanında çalışmasını bile sağlayabilirsiniz! Bu üretkenlik için çok büyük bir destek!

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

Bu, güncellemenin sonu. Umarım yolculukta mutlusundur! Expo gerçekten güçlü bir araçtır ve onu beslememiz gerekir. Bedava öğle yemeği diye bir şey yoktur. Lütfen Expo projesine bağışları düşünün. Projeyi sürdürmek ve (inşa etmek) sunucularını ödemek için para harcıyorlar! (Ne yazık ki, henüz böyle bir yöntem önermediler)

Ve lütfen, Apple, avukatına benimle iletişim kurmasını ve beni yasal sorunlara sokmasını söyleme.