Proszę popraw mnie jeżeli się mylę.
Jestem nowy w programowaniu mobilnym i chciałbym stworzyć aplikację do przesłania do Apple Store.
Ale jestem mocno zniechęcony cenami Maców, o których myślę.
Powiedzmy, że dokładnie wiem, czego chcę i jak to zakodować.
Gdybym miał założyć konto programisty i uiścić opłatę - to pożycz mojego przyjaciela Maca, napisz kod i prześlij mój kod do Apple. Czy to wszystko, do czego potrzebuję Maca? A potem będę mógł uzyskać dostęp do wszystkich statystyk itp. Przez iTunes na moim komputerze z systemem Windows?
Czy ktoś może mi powiedzieć, że mam urojenia?
Odpowiedzi:
Pozwólcie, że powiem wam krok po kroku kilka lat temu byłem w tej samej sytuacji.
Mamy więc dwie fazy
1. Tworzenie aplikacji na iPhone / iPad (iOS)
Jeśli więc chcesz tylko tworzyć aplikacje na iOS, nie chcesz nic płacić,
Potrzebujesz tylko Mac + XCode IDE
Teraz wystarczy zainstalować Xcode i rozpocząć tworzenie aplikacji na iOS oraz testować / debugować za pomocą symulatora.
2. Tworzenie aplikacji na iPhone / iPad (iOS) i publikowanie w sklepie iTunes Store
za opublikowanie aplikacji w sklepie iTunes trzeba zapłacić (na przykład 99 USD rocznie).
Aby uzyskać pełną konfigurację programowania iOS, potrzebujesz
źródło
W systemie Windows można używać komputera Mac na maszynie wirtualnej (prawdopodobnie działa to również w systemie Linux, ale nie testowałem). Maszyna wirtualna to w zasadzie program uruchamiany na komputerze, który umożliwia uruchamianie jednego systemu operacyjnego w oknie w innym. Upewnij się, że masz co najmniej 60 GB wolnego miejsca na dysku twardym. Wirtualny dysk twardy, który pobierzesz, zajmuje początkowo 10 GB, ale po zainstalowaniu wszystkich niezbędnych programów do tworzenia aplikacji na iOS jego rozmiar może łatwo wzrosnąć do 50 GB (na wszelki wypadek zalecam pozostawienie marginesu kilku GB).
Oto szczegółowe kroki, jak zainstalować maszynę wirtualną Mac w systemie Windows:
Zainstaluj VirtualBox .
Musisz włączyć wirtualizację w BIOS-ie. Aby otworzyć BIOS w systemie Windows 10, musisz zacząć od przytrzymania Shiftklawisza podczas naciskania przycisku Uruchom ponownie w menu Start. Następnie pojawi się niebieski ekran z kilkoma opcjami. Wybierz „Rozwiązywanie problemów”, następnie „Opcje zaawansowane”, następnie „Ustawienia oprogramowania układowego UEFI”, a następnie „Uruchom ponownie”. Następnie komputer uruchomi się ponownie i bezpośrednio otworzy BIOS. W starszych wersjach systemu Windows wyłącz komputer normalnie, przytrzymaj F2klawisz, uruchom ponownie komputer i nie zwalniaj, F2dopóki nie znajdziesz się w systemie BIOS. Na niektórych komputerach może być konieczne przytrzymanie innego klawisza niż F2.
Teraz, gdy jesteś w systemie BIOS, musisz włączyć wirtualizację. To, które ustawienie należy zmienić, zależy od używanego komputera. Może się to różnić nawet między dwoma komputerami z tą samą wersją systemu Windows. Na moim komputerze musisz ustawić
Intel Virtual Technology
wConfiguration
zakładceEnabled
. Na innych komputerach może to być na przykładSecurity -> Virtualization
lub wAdvanced -> CPU Setup
. Jeśli nie możesz znaleźć żadnej z tych opcji, wyszukaj w Google . Nie zmieniaj niczego w BIOS-ie przypadkowo, ponieważ w przeciwnym razie może to spowodować problemy z komputerem. Po włączeniu wirtualizacji zapisz zmiany i wyjdź z systemu BIOS. Zwykle robi się to w zakładce.enable virtualization (the kind of computer you have)
Exit
Pobierz ten plik (nie mam powiązania z osobą, która go przesłała, ale sam go użyłem, więc jestem pewien, że nie ma żadnych wirusów). Jeśli link się zepsuje, opublikuj komentarz, aby dać mi znać, a spróbuję przesłać plik gdzie indziej. Hasło do otwarcia pliku 7Z to
stackoverflow.com
. Ten plik 7Z zawiera plik VMDK, który będzie działał jako dysk twardy maszyny wirtualnej Mac. Wyodrębnij ten plik VMDK. Jeśli problemem jest miejsce na dysku, po wyodrębnieniu pliku VMDK możesz usunąć plik 7Z, a tym samym zaoszczędzić 7 GB.Otwórz VirtualBox, który zainstalowałeś w kroku 1. Na pasku narzędzi naciśnij przycisk Nowy. Następnie wybierz nazwę dla swojej maszyny wirtualnej (nazwa nie jest ważna, nazwałem ją „Mac”). W "Typ" wybierz "Mac OS X", aw "Wersja" wybierz "macOS 10.13 High Sierra (64-bitowy)" (wersja Mac, którą zainstalujesz na maszynie wirtualnej to faktycznie Catalina, ale VirtualBox nie ma tej opcji jeszcze i działa dobrze, jeśli VirtualBox uważa, że to High Sierra).
Dobrym pomysłem (choć nie jest to wymagane) jest również przeniesienie pliku VMDK wyodrębnionego w kroku 4 do folderu wymienionego w „Folderze maszynowym” (na powyższym zrzucie ekranu tak będzie
C:\Users\myname\VirtualBox VMs
).Wybierz ilość pamięci, której może używać Twoja maszyna wirtualna. Spróbuj zrównoważyć tę kwotę, ponieważ zbyt mała ilość pamięci spowoduje, że maszyna wirtualna będzie miała niską wydajność, a zbyt duża pamięć spowoduje, że w systemie hosta (Windows) zabraknie pamięci, co spowoduje, że maszyna wirtualna i / lub inne programy, które Ty '' działają w systemie Windows do awarii. Na komputerze z 4 GB dostępnej pamięci 2 GB to dobra ilość. Nie martw się, jeśli wybierzesz złą kwotę, będziesz mógł ją zmienić w dowolnym momencie (z wyjątkiem sytuacji, gdy maszyna wirtualna jest uruchomiona).
W kroku Dysk twardy wybierz opcję „Użyj istniejącego pliku wirtualnego dysku twardego” i kliknij małą ikonę folderu po prawej stronie listy rozwijanej. Otworzy się nowe okno. W tym nowym oknie kliknij przycisk „Dodaj” w lewym górnym rogu, co spowoduje otwarcie okna przeglądania. Wybierz plik VMDK, który pobrałeś i rozpakowałeś w kroku 4, a następnie kliknij „Wybierz”.
Kiedy skończysz, kliknij „Utwórz”.
Wybierz maszynę wirtualną z listy po lewej stronie okna i kliknij przycisk Ustawienia na pasku narzędzi. W System -> Procesor wybierz 2 procesory; iw Network -> Attached to, wybierz Bridged Adapter. Jeśli później zorientujesz się, że w kroku 6 wybrałeś ilość pamięci, która powoduje problemy, możesz to zmienić w System -> Płyta główna. Kiedy skończysz zmieniać ustawienia, kliknij OK.
Otwórz wiersz polecenia (
C:\Windows\System32\cmd.exe
). Uruchom tam następujące polecenia, zastępując to,"Your VM Name"
co nazwałeś swoją maszyną wirtualną w kroku 5 (na przykład"Mac"
) (zachowaj cudzysłowy):Teraz wszystko jest gotowe do użycia maszyny wirtualnej. W VirtualBox kliknij przycisk Start i postępuj zgodnie z instrukcjami instalacji dla komputerów Mac. Po zainstalowaniu komputera Mac na maszynie wirtualnej możesz opracować aplikację na iOS, tak jak na prawdziwym komputerze Mac.
Uwaga: Jeśli chcesz zaoszczędzić miejsce na dysku twardym, możesz skompresować plik VMDK, który został rozpakowany w kroku 4 i użyty w kroku 7. Aby to zrobić, kliknij go prawym przyciskiem myszy, wybierz Właściwości, kliknij Zaawansowane ... w prawym dolnym rogu i zaznacz pole wyboru „Kompresuj zawartość, aby zaoszczędzić miejsce na dysku”. Spowoduje to, że ten bardzo duży plik zajmie mniej miejsca na dysku, bez pogorszenia działania niczego. Zrobiłem to i zmniejszyłem rozmiar dysku pliku VMDK z 50 GB do 40 GB bez utraty danych.
źródło
Aktualizacja z 09/2017
Możliwe jest tworzenie aplikacji na iOS (i Androida jednocześnie) przy użyciu React Native + Expo bez posiadania Maca. Będziesz także mógł uruchamiać swoją aplikację na iOS w aplikacji iOS Expo podczas jej tworzenia. (Możesz nawet opublikować go, aby inne osoby miały do niego dostęp, ale będzie działać tylko w aplikacji Expo). Oto strona z Expo o tym, jak wygenerować samodzielną aplikację.
Kroki z tej strony:
Jeden : Zainstaluj
exp
, uruchamiającnpm install -g exp
Dwa : Skonfiguruj app.json (gdzieś w tych liniach):
{ "expo": { "name": "Your App Name", "icon": "./path/to/your/app-icon.png", "version": "1.0.0", "slug": "your-app-slug", "sdkVersion": "17.0.0", "ios": { "bundleIdentifier": "com.yourcompany.yourappname" }, "android": { "package": "com.yourcompany.yourappname" } } }
Trzy : Rozpocznij
exp
pakowanie zexp start
Cztery : biegnij
exp build:android
lubexp build:ios
.Zostaniesz poproszony o wprowadzenie danych. W przypadku Androida możesz wybrać
1) Let Expo handle the process!
, czy nie masz magazynu kluczy (lub nie wiesz, co to jest). W przypadku iOS będziesz musiał wprowadzić poświadczenia programisty Apple. Następnie możesz dostarczyć certyfikat dystrybucyjny lub pozwolić expo się nim zająć.Pięć : Raz na jakiś czas będziesz musiał wrócić i uruchomić
exp build:status
polecenie, aby sprawdzić, czy twoja kompilacja została ukończona. Jeśli pełna będzie wyposażony bezpośredni link do.apk
lub.ipa
pliku.Jedyną wadą tego podejścia jest to, że nie będzie ono tak natywne, jak pisanie aplikacji na iOS w Swift, i będziesz musiał pogodzić się z paradą problemów, na które możesz napotkać podczas programowania ze słabo wpisanymi js, npm i jego zależnością. w sprawach dotyczących konkretnej-wersji-jakiejś-innej-biblioteki i innych rzeczy.
źródło
Istnieją pewne rozwiązania chmurowe, takie jak macincloud ( płatne )
źródło
Możesz używać Phonegap (Cordova) do tworzenia aplikacji na iOS bez komputera Mac, ale nadal będziesz potrzebować komputera Mac, aby przesłać aplikację do App Store. Opracowaliśmy aplikację w chmurze, która może również publikować Twoją aplikację bez komputera Mac https://www.wenz.io/ApplicationLoader . Obecnie jesteśmy w fazie beta i możesz korzystać z usługi za darmo.
Pozdrawiam Steffen Wenz
(Jestem twórcą strony)
źródło
Krótka odpowiedź: teoretycznie TAK, ale to musi być twój BARDZO DOBRY przyjaciel, ale znowu możesz chcieć kupić używanego mac-mini
TLDR: Będziesz potrzebować tego Maca przez naprawdę długi czas, w zależności od wymagań aplikacji, umiejętności programistycznych i szczęścia w Apple. Na przykład:
Tak więc, z mojego doświadczenia wynika, że tworzenie aplikacji na iOS jest bardzo długotrwałą procedurą, nawet bez uwzględnienia faktycznego czasu tworzenia kodu. Czy możesz pożyczyć Maca na tak długo?
źródło
Aktualizacja Intel XDK nie jest już dostępna.
Możesz używać Intel XDK, dzięki któremu możesz tworzyć i publikować aplikacje na iOS bez komputera Mac.
Kliknij tutaj, aby uzyskać szczegółowe informacje.
źródło
Jeśli chcesz zaoszczędzić trochę pieniędzy, nie musisz kupować komputera Mac. Istnieją inne sposoby, jak to zrobić:
1.) Możesz użyć praktycznie dowolnego systemu operacyjnego, aby uruchomić najnowszy MacOS na maszynie wirtualnej (spójrz na YouTube). Używam tej metody naprawdę długo bez żadnych problemów na Windowsie z VMware.
2.) Hackintosh. Zainstaluj MacOS na swoim komputerze. Musisz mieć kompatybilne komponenty, ale jeśli masz, to jest najlepszy sposób, bo eliminujesz lagi w VM ... Używam tego w tym czasie. Idealny. Na moim laptopie, ale proszę, nie mów tego Apple, ponieważ praktycznie jest to nielegalne
3.) Jeśli tworzysz proste aplikacje z minimalnym interfejsem użytkownika, możesz użyć Theos . Również z Theosem możesz tworzyć poprawki Cydii. Tylko jeden problem: kodowanie. Jeśli chcesz opublikować aplikację w App Store, nadal musisz mieć MacOS, ale jeśli chcesz tworzyć aplikację w domu, możesz użyć CydiaImpactor do podpisania aplikacji za pomocą Apple ID.
Użyłem wszystkich tych sposobów i wszystko działa. Przez moją maszynę wirtualną to najlepsze rozwiązanie, jeśli nie chcesz spędzać dużo czasu na instalacji Hackintosha.
źródło
Większość frameworków, takich jak React Native i Ionic, umożliwia budowanie na ich serwerze. Oznacza to, że mogą pomóc w skompilowaniu i dostarczeniu pliku .ipa.
Problem polega na tym, że potrzebujesz Xcode lub programu ładującego aplikację, aby przesłać swoją aplikację do Apple App Store Connect. Oba są dostępne tylko w systemie OSX. Aby przezwyciężyć to rozwiązanie, masz 2 opcje, o których jestem świadomy
źródło
Możesz użyć Smartface do tworzenia aplikacji za pomocą javascript i wdrażania w sklepach bezpośrednio bez komputera Mac. To, co mówią, jest poniżej.
https://www.smartface.io/smartface/
źródło
Z mojego doświadczenia wynika, że Ionic Pro ( https://ionicframework.com/pro ) może wykonać większość zadań związanych z programowaniem i publikowaniem, ale nadal potrzebujesz komputera Mac lub Mac w chmurze w następujących krokach:
Po utworzeniu pliku certyfikacji, możesz przesłać go do Ionic Pro. Możesz tworzyć pliki .ipa z odpowiednimi poświadczeniami w chmurze. Ale niestety nie znalazłem innego sposobu na przesłanie pliku .ipa do App Store, tylko z Application Loaderem z Maca.
Postanowiłem więc użyć Maca z płatnością zgodnie z rzeczywistym użyciem na koncie w chmurze (płacisz tylko za minuty, w których jesteś zalogowany), ponieważ czas, który spędzam na Macu jest bardzo ograniczony (kilka minut na publikację aplikacji).
źródło
Platforma XAMARIN CROSS
Możesz użyć Xamarin, jego platformy wieloplatformowej z IDE Visual Studio i zintegrować z nią Xamarin. Bardzo proste jest kodowanie w Xamarin i tworzenie aplikacji na iOS przy użyciu kodu C #.
źródło