Jak mogę opracować dla iPhone'a za pomocą komputera z systemem Windows?

1185

Czy jest jakiś sposób na majsterkowanie przy użyciu iPhone SDK na komputerze z systemem Windows? Czy są plany dotyczące wersji iPhone SDK dla systemu Windows?

Jedynym innym sposobem, w jaki mogę to zrobić, jest uruchomienie obrazu maszyny Wirtualnej Mac na serwerze VMWare działającym w systemie Windows, chociaż nie jestem zbyt pewien, czy jest to zgodne z prawem.

Ryan
źródło
1
Miguel de Icaza z Mono napisał o używaniu i kompilowaniu Mono (portu Linux .NET Framework) na iPhonie .
Jon Limjap,
1
Warunki TOS zostały zaktualizowane, a język C # (między innymi językami) jest teraz dozwolony: macgasm.net/2010/09/09/…
jjxtra,
26
Co powiesz na macincloud.com ? :)
Salman von Abbas
3
Możesz użyć Unity3D. Dzięki temu możesz opracować dla wszystkich platform mobilnych, z tylko 1 wersją.
ababab5
5
Lub nie zawracaj sobie głowy uruchamianiem go w systemie Windows: kup odnowiony „Mac mini”. apple.com/shop/browse/home/specialdeals/mac/mac_mini lub google „kup odnowiony Mac mini”. Podłącz istniejący monitor i używaj bezprzewodowej klawiatury i myszy (korzystam z oprogramowania Logitech, który korzysta z odbiornika USB Unify).
ToolmakerSteve

Odpowiedzi:

502

Z pewnością można opracować na komputerze z systemem Windows, w rzeczywistości moja pierwsza aplikacja została opracowana wyłącznie na starej Dell Precision, którą miałem wtedy :)

Istnieją trzy trasy;

  1. Zainstaluj OSx86 (aka iATKOS / Kalyway) na drugiej partycji / dysku i podwójnym rozruchu.
  2. Uruchom Mac OS X Server pod VMWare (Mac OS X 10.7 (Lion) i nowsze, przeczytaj aktualizację poniżej).
  3. Użyj Delphi XE4 i usługi macincloud. Jest to komercyjny zestaw narzędzi, ale obsługa komponentów i lib rośnie.

Pierwsza trasa wymaga modyfikacji (lub użycia wstępnie zmodyfikowanego) obrazu Leoparda, który można zainstalować na zwykłym komputerze. Nie jest to tak trudne, jak mogłoby się wydawać, chociaż twój stosunek sukcesu do wysiłku będzie zależeć od tego, jak ściśle sprzęt w twoim komputerze pasuje do sprzętu w komputerze Mac - np. Jeśli korzystasz z Core 2 Duo na płycie głównej Intel z NVidią karta graficzna, którą się śmiejesz. Jeśli korzystasz z komputera AMD lub czegoś bez SSE3, jest trochę bardziej zaangażowany.

Jeśli kupisz (lub już posiadasz) wersję Leoparda, jest to szara strefa, ponieważ zgodnie z umową licencyjną Leopard możesz ją uruchamiać tylko na maszynie „Apple Labeled”. Jak wielu wskazuje, jeśli przykleisz naklejkę Apple na komputerze, prawdopodobnie jesteś objęty ubezpieczeniem.

Druga opcja jest bardziej kosztowna. Umowa licencyjna dla wersji Leopard na stację roboczą uniemożliwia jej uruchomienie podczas emulacji, w wyniku czego VMWare nie obsługuje tego. Serwer Leopard MOŻE jednak działać w trybie emulacji i może być używany do celów stacjonarnych. Serwer Leopard i VMWare są jednak drogie.

Jeśli interesuje Cię opcja 1) Sugeruję rozpoczęcie od Insanelymac i przeczytanie sekcji OSx86.

Myślę, że powinieneś rozważyć, czy czas, który zainwestujesz, będzie wart pieniędzy, które zaoszczędzisz. To było dla mnie, ponieważ lubię majstrować przy tego typu rzeczach i zacząłem od wczesnych wersji beta iPhone'a, na wiele miesięcy przed udostępnieniem ich App Store.

Alternatywnie możesz kupić Mac Mini o niskiej specyfikacji z eBay. Do uruchomienia zestawu SDK nie potrzebujesz dużej mocy i zawsze możesz go później sprzedać, jeśli zdecydujesz się przerwać program lub kupić lepszy komputer Mac.

Aktualizacja: Nie można utworzyć maszyny wirtualnej klienta Mac OS X dla systemu OS X 10.6 i wcześniejszych. Apple nie zezwala na wirtualizację tych systemów klienckich. Począwszy od Mac OS X 10.7 (Lion), Apple zmieniło umowę licencyjną w zakresie wirtualizacji. Źródło: VMWare KnowledgeBase

Andrew Grant
źródło
OSX działa na maszynie wirtualnej, więc teoretycznie jest to możliwe. Jest jednak kilka problemów. Uzyskiwanie wsparcia sieciowego na maszynie wirtualnej (mówię o VMWare) dla OSX jest niezwykle trudne. Ponadto, wszystko będzie bardzo powolne i nie sądzę, żeby chodziło o rzucanie w to RAM.
Dmitri Nesteruk,
@DennisPalmer Nie polecam tego zakupu, ponieważ tanie mini Mac Intel Core 2 Duo są wolne i zazwyczaj są dostarczane bez klawiatury i myszy. Myślę, że za 650 $ możesz dostać naprawdę fajnego Macbooka (profesjonalnego lub lotniczego) z 4 GB pamięci.
Zakaria
@Zakaria tak, wiele się zmieniło w ciągu ostatnich 3 lat! Kiedy kupowałem Maca Mini, miałem mnóstwo klawiatur, myszy i monitorów, więc był to dobry wybór. Aha, zapłaciłem za to tylko 360 $. Dawno nie kupowałem w serwisie eBay używanych Macbooków, ale to świetna sugestia.
CoderDennis
12
Chciałbym tylko zaznaczyć, że korzystanie z VMWare ESX jest bezpłatne, o ile nie masz więcej niż 32 GB pamięci RAM, a odpowiedź mówi, że uruchomienie VMWare jest bardzo drogie: /
Pan King
4
Bez obrazy, ale to brzmi o wiele więcej kłopotów niż jest to warte. Stare komputery Mac są tanie w serwisie eBay i mogą dobrze obsługiwać Xcode.
sudo
175

Xamarin to solidny wybór. Został zakupiony przez Microsoft i jest teraz wbudowany bezpośrednio w Visual Studio. Kodujesz w C #. Dzięki dodawanym aktualizacjom i funkcjom możesz robić wszystko, oprócz przesyłania do App Store z systemu Windows, a nawet kompilowania, kompilowania i wdrażania na urządzeniu z systemem iOS.

Do gier Unity 3D to świetna opcja. Z edytora można bezpłatnie korzystać w celach programistycznych, a nawet w celu dystrybucji (jeśli masz mniej niż 100 000 USD rocznych przychodów). Unity obsługuje iOS, Android i większość innych platform. Może być możliwe użycie funkcji Unity „Cloud Build”, aby uniknąć konieczności używania komputera Mac do wdrożenia, chociaż domyślnie Unity faktycznie wyrzuca projekt Xcode podczas tworzenia dla iOS.

Inne opcje:

Działa także PhoneGap (html / javascript). Nie jest tak przyjemny do grania, ale całkiem przyzwoity w przypadku zwykłych aplikacji GUI.

Flutter (dart) to darmowa platforma do tworzenia aplikacji mobilnych na wiele platform firmy Google. Napisz swój kod w Dart.

React Native (javascript) to kolejna popularna platforma międzyplatformowa stworzona przez Facebook.

Uwaga: dla wszystkich tych opcji całość lub większość prac programistycznych można wykonać w systemie Windows, ale do zbudowania pliku binarnego w celu przesłania do App Store wymagane jest urządzenie MacOS. Jedną z opcji jest zdobycie taniego MAC Mini do wykonania ostatecznej wersji.

jjxtra
źródło
Korzystam z Airplay, aby opracować grę na wiele platform. Dobra wiadomość jest prawdopodobnie w pełni zgodna z nowym regulaminem iPhone OS 4.0. Zobacz airplaysdk.com/node/672
hiddentao
7
Phonegap jest świetny, ale nie można opracować aplikacji całkowicie na komputerze z systemem Windows, a następnie podpisać ją na komputerze iMac i mieć nadzieję na najlepsze. O ile Twoja aplikacja nie jest odmiany HelloWorld, naprawdę musisz ją przetestować i debugować.
Wytze
4
Istnieje rozszerzenie Visual Studio o nazwie Nomad, które obsługuje programowanie w całości na twoim komputerze poprzez przeniesienie kompilacji PhoneGap do usługi w chmurze.
Mark Cheverton
3
Nie wierzę, że Marmalade jest już bezpłatny, warunki licencji uległy zmianie.
Jamie,
3
Xamarian nie może być używany, chyba że w sieci jest trochę komputerów Mac
149

Jeśli masz zepsutego iPhone'a, możesz zainstalować łańcuch narzędzi iPhone-gcc na iPhonie za pośrednictwem Cydii i w ten sposób możesz po prostu kompilować aplikacje na iPhonie. Aplikacje opracowane w ten sposób można nadal przesyłać do App Store.

I chociaż pan Valdez powiedział, że jest to szara strefa (którą jest), łamanie więzienia jest niezwykle łatwe i praktycznie pozbawione ryzyka. Tak, unieważnia twoją ostrożność, ale możesz po prostu przywrócić i nigdy się nie dowiedzą.

David Pearce
źródło
14
Właśnie aktualizuję: Jailbreaking nie unieważnia już gwarancji, przynajmniej nie w Stanach Zjednoczonych
sudo
3
@ 9000 Masz źródło? Chociaż jailbreaking nie jest już naruszenie DCMA (coś Jabłko nigdy egzekwowane tak), i może lub nie może unieważnić warrenty (jest celowo niejasne), to doese naruszać EULA i jabłko przeczę usługi na urządzeniu jailbreak support.apple .com / kb / HT3743
Josh Hunt
1
Jak mogą odmówić usługi, jeśli przywrócisz urządzenie do stanu sprzed jailbreak za pomocą iTunes - Restore? Nie mogą wykryć, że kiedyś był to jailbreak
JoelFan
2
@ JoelFan iOS może mieć to samo, co Android; „flash ticker”. Jest on przechowywany w pamięci NVRAM i zwiększa się za każdym razem, gdy systemjest czyszczony, co oznacza, że ​​można wykryć, czy został flashowany czy zrootowany. Urządzenia z iOS mogą mieć to samo (w rzeczywistości byłbym zaskoczony, gdyby nie miały).
AStopher
6
Odmawiam Panu Google Valdezowi. Jeśli ktoś może nam powiedzieć, będę zobowiązany.
Harry Ninh
78

Większość „tak zwanych rozwiązań Windows do opracowywania systemu iOS bez komputera Mac” wymaga na końcu komputera Mac tylko do podpisania i wysłania do sklepu z aplikacjami. Sprawdziłem kilka, choć nie wszystkie (kto ma czas?)

Na koniec zbyt wielkim problemem jest nauczenie się „ich wyjątkowego, łatwego sposobu programowania iOS bez Objective-C”, mają wiele błędów. Moim zdaniem cel, który wyznaczają, jest nieosiągalny.

Wiele czasu sprawia, że ​​używasz wyrażeń Objective-C po prostu w innym języku. Wyglądają tak samo, ale zawsze są subtelne różnice, których musisz nauczyć się na obj-c. Co również ma jeszcze mniej sensu, ponieważ teraz zamiast uczyć się mniej, musisz nauczyć się więcej. Więc gdzie jest zysk? Kosztują również dużo, ponieważ są bardzo trudne do opracowania.

Wielu nie ma żadnych zdolności do debugowania.

Moim szczerym zdaniem, jeśli jesteś twardym programistą iOS, na pewno kup najlepszego Maca i naucz się celu c. Jest drogi i wymaga czasu, ale jeśli to twoja ścieżka, warto.

Od czasu do czasu łatwiej jest wynająć zdalną usługę Mac, na przykład XCodeClub.com

Rachel Henderson
źródło
1
Nie znam się na PhoneGap, aby napisać recenzję, ale podoba mi się pomysł: aplikacje na wiele platform napisane z wykorzystaniem szeroko rozpowszechnionych technik HTML5 + JavaScript.
Ignitor,
1
[VirtualMacOSX.com] [1] ma plany rozwoju xCode, od (obecnie) 10 USD miesięcznie. Jestem pewien, że inni też. [1]: virtualmacosx.com/index.php/xcode-plans
naruszenie umowy prof. Falkena w
Nie miałem pojęcia, że ​​ta usługa w ogóle istnieje. Chcę po prostu odkrywać i bawić się nim i miałem zamiar zrezygnować z robienia tych wszystkich zwariowanych obejść, ale to o wiele łatwiejsze. Świetna wskazówka!
Alex Beardsley,
„teraz [...] musisz dowiedzieć się więcej. Również kosztują dużo [...]” ..... ”kupić najlepszego Maca i nauczyć się celu-c. Jest drogi i wymaga czasu [...] „ Wniosek: opracowanie systemu iOS jest w obu przypadkach drogie i zajmuje dużo czasu. ;)
Martin Schneider
55

Zestaw SDK jest dostępny tylko w systemie OS X, co zmusza do korzystania z komputera Mac. Jeśli nie chcesz kupować komputera Mac, możesz uruchomić system OS X na maszynie wirtualnej na komputerze z systemem Windows lub zainstalować system OS X na komputerze.

Z mojego doświadczenia wynika, że ​​rozwiązanie maszyny wirtualnej jest wyjątkowo wolne (na laptopie core2 duo z 2G RAM). Jeśli masz ochotę spróbować, poszukaj torrenta. Prawdopodobnie nie warto.

Inną opcją jest zainstalowanie OS X na komputerze, zwanym potocznie hackintoshem. Hackintoshes działają całkiem dobrze - mój przyjaciel właśnie sprzedał swój komputer Mac, ponieważ jego hackintosh z czterordzeniowym procesorem Dell był faktycznie znacznie szybszy niż sprzęt Apple (i kosztował około 1/3). Możesz znaleźć wiele artykułów o tym, jak to zrobić; oto jak zainstalować na laptopie Dell Inspirion 1525: poradnik hackbook pro

Oczywiście obie te opcje prawdopodobnie są sprzeczne z jakimś schematem licencyjnym, więc postępuj na własne ryzyko.

Parand
źródło
2
Informacje o hackintoshu bardzo szybko stają się nieaktualne, lepiej śledzić strony poświęcone temu tematowi (takie jak osxlatitude dla modeli Dell)
prusswan
53

Możesz użyć WinChain

Cytując stronę projektu:

Jest to najprostszy sposób na zbudowanie łańcucha narzędzi iPhone'a na komputerze z systemem Windows XP / Vista, który z kolei może pobrać kod źródłowy Objective-C, który piszesz za pomocą ich nagłówków UIKit (dołączonych do winChain) i skompilować go w aplikację, z której możesz korzystać na iPhonie.

dawnerd
źródło
1
więc jest to bezpłatne i możesz tworzyć aplikacje dla iOS, które możesz umieścić w sklepie Apple?
BlueShark,
28

Nie musisz posiadać komputera Mac ani uczyć się Celu C. Możesz rozwijać się w różnych środowiskach i później kompilować w Objective-C.

programowanie dla iPhone'a i iPada przez uruchomienie OSX 10.6 (Snow Leopard)

Artykuł napisany przez jednego z naszych programistów zawiera obszerne omówienie instalacji OS X Snow Leopard w systemie Windows za pomocą iBoot, a następnie instalacji Vmware (z instrukcjami), a następnie uruchomienia środowiska programistycznego iPhone'a ... i kilku dodatkowych soczystych rzeczy. Super pomocny dla mnie.

Mam nadzieję, że to pomaga. Korzysta z Phonegap, dzięki czemu możesz rozwijać się na wielu platformach smartfonów jednocześnie.

Maurice
źródło
21

Możesz użyć Tersus (bezpłatny, open source).

Ofer Brandes
źródło
5
Nie. W przypadku aplikacji natywnej nadal potrzebujesz komputera Mac do kompilacji i wdrożenia.
tensaix2j
21

Devkit, który pozwala tworzyć aplikacje iPhone'a w Objective-C, C++lub po prostu w C z Visual Studio:

Sprawdź to na env kompilacji iOS

Możesz tworzyć aplikacje na iPhone'a bezpośrednio w Visual Studio (2008, 2010, Express).

Całkiem porządnie, nawet IPApo udanej kompilacji buduje pliki dla Twojej aplikacji. Kod działa tak, jak na urządzeniach z jailbreakiem, dla reszty planety uważam, że ostateczna kompilacja i przesłanie do App Store musi odbywać się na komputerze Mac. Mimo to umożliwia rozwijanie przy użyciu dobrze znanego IDE.

priamos
źródło
19

Oczywiście możesz napisać kod Objective-C w notatniku lub innych programach, a następnie przenieść go na komputer Mac w celu skompilowania.

Ale poważnie, zależy to od tego, czy tworzysz oficjalne aplikacje do umieszczenia w App Store, czy tworzysz aplikacje dla iPhone'a z jailbreakiem. Do pisania oficjalnych aplikacji, Apple iPhone SDK, który wymaga Intel Mac wydaje się być jedynym praktycznym sposobem. Istnieje jednak nieoficjalny zestaw narzędzi do pisania aplikacji na iPhones z jailbreakiem. Możesz go uruchomić w systemie Linux i Windows (przy użyciu Cygwin).

Mehrdad Afshari
źródło
18

Wypróbuj macincloud.com Pozwala wypożyczyć Maca i uzyskać do niego dostęp za pomocą pilota RDP. Następnie możesz użyć komputera, aby uzyskać dostęp do komputera Mac, a następnie opracować aplikacje.

MacDaemon
źródło
11

Jeśli chcesz, aby było to uzasadnione, masz dwie opcje: rozwiązania Mac oparte na chmurze lub narzędzia programistyczne dla różnych platform. Możesz rozważyć podejście do hackintosha lub maszyn wirtualnych, jeśli nie przejmujesz się legalnymi rzeczami. Jeśli masz przyzwoity komputer, najłatwiejszym sposobem jest uruchomienie maszyny wirtualnej. Możesz nigdy nie wiedzieć, który sprzęt będzie miał problemy ze sterownikami na hackintosku.

Wypróbowałem wszystkie te podejścia i wszystkie mają zalety i wady, ale w przypadku drugiej grupy czuję się trochę winny. Tworzę aplikacje, aby zarabiać na życie i nie chciałbym zrywać z tego powodu kogoś innego.

W przypadku małego projektu przydatne mogą być komputery Mac oparte na chmurze. Wynajmij na krótki czas, opracuj swój projekt i gotowe. Nie przejmuj się nauką niczego nowego.

Jeśli jednak twój projekt staje się duży, frameworki wydają się być jedyną alternatywą. Najważniejsze jest to, że musisz mądrze wybierać. Jest tak wiele struktur hybrydowych, ale to, co robią, można streścić w jednym zdaniu jako „wyświetlanie stron internetowych w pakiecie aplikacji”, a negatywne doświadczenia programistów z platformami hybrydowymi również wpływają na ramy natywne.

Wypróbowałem trzy z nich (Titanium, Smartface i Xamarin) i wszystkie one twierdzą, że wytwarzają „prawdziwy rodzimy wynik” i moim zdaniem ich twierdzenia są prawidłowe. Musisz to przetestować i przekonać się sam, niełatwo jest opisać rodzime uczucie. W poprzednim komentarzu wskazano, że nauka tych platform wymaga pewnego wysiłku, ale gdy się je pozna, można rozwijać nie tylko aplikacje na iOS, ale także aplikacje na Androida, wszystkie ze wspólną bazą kodu. I oczywiście są znacznie tańsze niż Mac w chmurze. Niektóre z nich są nawet bezpłatne. Potrzebujesz komputera Mac tylko do przesłania do sklepu.

Jeśli znasz JavaScript, wypróbuj Titanium i Smartface, a jeśli znasz C #, wypróbuj Xamarin. Pamiętaj tylko, że w przypadku symulatora urządzenia Titanium jest zależny od komputera Mac, ale Smartface ma aplikację do symulacji rozwoju systemu Windows i działa lepiej niż się spodziewałem. Z drugiej strony Xamarin wymaga komputera Mac w sieci.

OZY
źródło
9

Jeśli chcesz tworzyć aplikacje na iPhone'a, ale nie na Maca, powinieneś spróbować http://www.pmbaty.com/iosbuildenv/

Umożliwia łatwe tworzenie natywnych aplikacji na iOS, takich jak XCode, które można wdrożyć na dowolnym iPhonie, iPodzie lub iPadzie (jailbroken lub nie).

Użyj swojego ulubionego IDE do kodowania w zestawie Objective-C, C ++, C lub ARM, jak w XCode. Obsługiwane są ARC i bloki.

Skompiluj aplikacje na iPhone'a bezpośrednio w Visual Studio

Działa na wszystkich wersjach systemu Windows (XP, 7, 8), FreeBSD i Linux

Teraz z obsługą iOS8.

Oscar Acevedo
źródło
3
Czy zgodnie z zasadami SO możesz ujawnić swoje powiązanie z polecaną witryną?
Sirens,
8

Ciekawe, że nikt nie wspomniał o wieloplatformowej opcji wxWidgets .

Jest to jednak mniej niż optymalne rozwiązanie.

IMHO, najmądrzejszym sposobem jest zainwestowanie pieniędzy w zatwierdzone przez Apple ramy. W ten sposób, jeśli utkniesz w zadziwiającym problemie, masz znacznie większą społeczność programistów do konsultacji.

Bardzo obiektywny
źródło
8

MOŻESZ OPRACOWAĆ APLIKACJE IPHONE NA WINDOWS PC. Zrobiłem to ze złożonymi aplikacjami. I działa idealnie. Możesz tworzyć aplikacje na iPhone'a bez konieczności oglądania Maca lub iPhone'a.

Możesz stworzyć w systemie Windows aplikację HTML (lub lepiej: HTML5), używając narzędzi takich jak Sencha, JQTouch lub mobi1. (Przez pewien czas wszyscy byli wolni)

Następnie używasz openSSL do podpisania aplikacji. Oraz usługa Adobe PhoneGAP Build do budowy aplikacji IPhone.

Ale potrzebujesz licencji programisty na iPhone'a, aby zainstalować ją na iPhonie. Ale nie potrzebujesz komputera Mac ani iPhone'a do kompilacji, kompilacji ani testowania - wszystko to dzieje się na komputerze.

Zrobiłem to i działa idealnie. (Ale z responsywnością typu Android - nie tak szybko jak natywna aplikacja na iPhone'a)

Możesz także użyć programu z epoki babilońskiej (około 300 pne) z systemem C i C ++ o nazwie dragonfly. Jeśli Twoja aplikacja ma jeden lub dwa ekrany o ograniczonej interaktywności i wiele obliczeń, wybierz ją. Zawiera emulator. Kompilujesz na iPhonie za naciśnięciem jednego przycisku. (Nie jestem pewien, ale myślę, że w każdym razie potrzebujesz licencji programisty)

A potem jest Xamarin. Tworzysz w języku C # za pomocą specjalnych wywołań do kodu natywnego. Musisz nauczyć się środowiska.

pashute
źródło
Cóż, możesz opracować aplikację na PC, ale zbudowanie pakietu dla sklepu Apple wymaga dostępu do komputera Mac lub jakiejś usługi z komputera, co stanowi tę część. Przynajmniej nie dostałem żadnych pakietów do folderu Release, chociaż projekt był ustawiony na wersję Release.
mico
8

Sprawdź to:

Przegląd

Jest to projekt, który próbuje kompilować programy napisane w różnych językach źródłowych z różnymi językami docelowymi. Jednym z pierwszych przypadków testowych było pisanie programów w Javie i uruchamianie ich na iPhonie. Warto obejrzeć wideo na stronie.

Powiedziawszy to, nie próbowałem tego. Projekt wydaje się dość beta, a na ich stronie SourceForge nie ma dużej aktywności.

Some Guy
źródło
Ten projekt wydaje się być martwy. Strona internetowa projektu opisuje go jako „będący obecnie we wczesnej fazie rozwoju”, a od 2014 r. Do repozytorium kodu źródłowego nie było żadnych zobowiązań.
duskwuff -inactive-
8

Możesz używać Intel XDK, dzięki czemu możesz tworzyć i publikować aplikacje na iOS bez Maca.

Kliknij tutaj po szczegóły.

Hemant Singh Rathore
źródło
czy potrzebujesz znać język C, aby korzystać z Intel XDK?
Alfonso Fernandez-Ocampo,
XDK został wycofany w 2017 roku i nie nadaje się już do użytku.
duskwuff -inactive-
8

Oracle VirtualBox pozwala użytkownikom zainstalować system Mac OS X na maszynie wirtualnej. Jeśli nie masz nic przeciwko, możesz po prostu użyć tej metody do korzystania z Xcode. Jest to legalne, jeśli „uruchamiasz podwójnie” komputer Mac w systemie Windows, a następnie instalujesz VirtualBox w systemie Windows (lub Linux).

Inne możliwości to międzykompilatory, takie jak Appcelerator Titanium (HTML, CSS i JavaScript) lub MonoTouch (.NET).

Peter Mortensen
źródło
1
Korzystanie z maszyny wirtualnej jest nielegalne, czy nie?
Martin Erhardt
1
nielegalne sposoby nie są doceniane
technika
2
Zdecydowanie legalne, gdy system Windows jest jedynym systemem na komputerze Mac.
fb55
Miałem maszynę wirtualną z systemem MacOS, ale nie mogę wdrożyć mojej aplikacji na prawdziwym urządzeniu
EriK
7

Dwie inne opcje

  1. Titanium Developer - darmowa edycja dla społeczności - pisz w HTML / JavaScript - skompiluj z Xcode (wymaga komputera Mac lub VM)

  2. Studio OpenPlus ELIPS - pisz w Flex, kompiluj na Xcode (wymaga komputera Mac lub VM) - dopiero zaczęły ładować swoje produkty.

Myślę, że mogą istnieć opcje „toolchain” dla tych i niektórych innych wymienionych, które pozwalają na kompilację do binarnej w systemie Windows, i widziałem, że możesz przesłać plik zip i skompilować styl łańcucha narzędzi dla Ciebie online, ale jest to sprzeczne z licencją Apple.

Jeśli się nie mylę, produkt taki jak Titanium, który wyświetla / współpracuje z Xcode i nie korzysta z żadnych zewnętrznych / alternatywnych / ograniczonych bibliotek, powinien być zgodny, ponieważ ostatecznie kompilujesz w xcode - normalny kod i biblioteki Objective-C.

Scott Szretter
źródło
6

Możesz użyć Sentenza do tworzenia aplikacji na iPhone'a w systemie Windows. Testowany z sukcesem. To nie jest rozwiązanie, ale dobra alternatywa!

KloéLo
źródło
Sentenza na iOS już nie istnieje. Wszystko, co mogę znaleźć, to sentenzadesktop.com - który jest przeznaczony dla komputerów stacjonarnych, a nie iOS, i nie był aktualizowany od 2014 roku.
duskwuff -inactive-
6

Jak już wspomniano, możesz spróbować użyć WinChain, ale jeśli jesteś programistą dla początkujących, nie będzie to łatwe.

IPhone SDK będzie działał na Hackintoshes (zwykły komputer z zainstalowanym OS X). Wiem, jak mam i tak jest.

Więc po zakupie licencji OSX możesz spróbować zainstalować ją na komputerze na innym dysku za pomocą Boot-132 lub jednego z innych programów instalacyjnych, takich jak iDeneb. Problem będzie musiał zrobić wiele majsterkowania, a rzeczy nadal nie będą działać całkiem dobrze.

Roger Roger
źródło
6

Za pomocą Xamarin możemy teraz tworzyć aplikacje na iPhone'a na komputerze z systemem Windows za pomocą Xamarin Live Player .

Korzystanie z tego cyklu tworzenia / wdrażania / debugowania odtwarzacza na żywo Xamarin można teraz wykonywać bez systemu Apple.

Ale do podpisania i wydania aplikacji wymagany jest system Apple .

Znajdź referencję tutaj

Sprawdziłem referencje nic podejrzanego

Durai Amuthan.H
źródło
5

Tak i nie musisz uczyć się Celu C oraz kupowania oprogramowania i sprzętu Apple.

Adobe stworzyło kompilator z ActionScript 3 do programowania na iOS. Później Apple zatwierdził tę metodę tworzenia aplikacji.

Jest to najlepszy sposób na tworzenie aplikacji Apple w systemie Windows lub Linux / BSD (i kolejna dla MacOS-X)

Eir Nym
źródło
4

Możesz zainstalować OSX na PC, ale doświadczenie nie będzie świetne i wymaga dużo pracy. Alternatywą jest użycie frameworka / SDK Codename 1 : który jest oparty na JAVA i może być używany do kodowania w WP8, Android, iOS na Windows (eclipse) ze wszystkimi rozbudowanymi funkcjami

Przegląd funkcji:

  1. Pełne środowisko Androida z superszybkim symulatorem Androida
  2. Symulator iPhone'a / iPada z łatwymi do przenoszenia aplikacjami iPhone'a na iPada dużego ekranu w kilka minut.
  3. Pełna obsługa standardowego debugowania Java, profilowanie aplikacji na dowolnej platformie.
  4. Łatwe tworzenie motywów / stylizacji - tylko jedno kliknięcie

Więcej na temat programowania aplikacji dla Androida, iOS, iPhone'a i WP8 przy użyciu Java Disclaimer: To jest moja opinia o produkcie

Taranfx
źródło
3

Jeśli chcesz opracować aplikację w środowisku Windows, istnieje opcja, możesz zainstalować system Mac OS w swoim systemie Windows. Nazwa platformy to: „Niresh'MAC OS”, możesz wyszukać ten tekst w Google

następnie możesz pobrać całe źródło MAC OS i łatwo zainstalować MAC OS na komputerze z systemem Windows, Niresh jest w stanie zhakować cały system operacyjny.

Mam nadzieję, że to ci pomoże.

jabłko
źródło
3

Twórz aplikacje iOS w systemie Windows za pomocą narzędzi wieloplatformowych

Narzędzia wieloplatformowe są niesamowite: jednorazowo kodujesz aplikację i eksportujesz ją na iOS i Androida. Może to potencjalnie skrócić czas projektowania aplikacji i obniżyć koszty o połowę. Kilka narzędzi wieloplatformowych pozwala tworzyć aplikacje iOS na komputerze z systemem Windows lub kompilować aplikację, jeśli w sieci lokalnej jest komputer Mac.

Cóż, nie tak szybko…

Wieloplatformowy ekosystem narzędzi jest bardzo duży. Z jednej strony masz kompletne zintegrowane środowiska programistyczne (IDE), takie jak Xamarin, które pozwalają tworzyć aplikacje międzyplatformowe w języku C #.

Środek jest objęty narzędziami takimi jak PhoneGap, Cordova, Ionic i Appcelerator, które pozwalają tworzyć natywne aplikacje z komponentami HTML5. Na drugim końcu znajdują się mniejsze platformy, takie jak React Native, które umożliwiają pisanie aplikacji natywnych za pomocą opakowania JavaScript.

Jedyną rzeczą wyróżniającą wszystkie narzędzia wieloplatformowe jest to, że nie są one przyjazne dla początkujących! O wiele łatwiej jest uzyskać dostęp do komputera Mac, nauczyć się Swift i zbudować prostą aplikację, niż rozpoczęcie korzystania z Xamarin.

Większość narzędzi wieloplatformowych wymaga podstawowej znajomości programowania, opcji kompilacji oraz ekosystemów iOS i Android. To coś, czego tak naprawdę nie masz jako początkującego programisty!

Powiedziawszy to, spójrzmy na kilka opcji:

Jeśli znasz narzędzia programistyczne i środowiska IDE oparte na systemie Windows i wiesz, jak kodować, warto sprawdzić Xamarin. Za pomocą Xamarin kodujesz aplikacje w języku C # dla wielu platform, korzystając ze struktur Mono i MonoTouch. Jeśli znasz programowanie internetowe, sprawdź PhoneGap lub Ionic. Dzięki HTML 5, CSS i JavaScript poczujesz się jak w domu. Nie zapomnij: natywna aplikacja działa inaczej niż strona internetowa… Jeśli znasz JavaScript lub wolisz nauczyć się kodować JavaScript niż Swift, sprawdź React Native. Za pomocą React Native możesz kodować aplikacje natywne na iOS i Androida za pomocą „opakowania”. Zawsze celowo wybieraj narzędzia wieloplatformowe, ponieważ jest to inteligentna opcja, a nie dlatego, że uważasz, że natywny język platformy jest zły. Fakt, że jedna opcja jest niewłaściwa, nie od razu sprawia, że ​​inna opcja jest mądrzejsza!

Jeśli nie chcesz dołączyć do zastrzeżonego zamkniętego świata Apple, nie zapomnij, że wiele narzędzi międzyplatformowych jest obsługiwanych przez równie złe firmy, takie jak Google, Facebook, Microsoft, Adobe i Amazon.

Często słyszanym argumentem przeciwko narzędziom wieloplatformowym jest to, że oferują one ograniczony dostęp do sprzętu smartfona i obsługę go oraz są mniej „zgryźliwe” niż ich rodzime odpowiedniki. Pamiętaj, że każde narzędzie wieloplatformowe będzie wymagało napisania kodu specyficznego dla platformy w jednym punkcie, szczególnie jeśli chcesz zakodować niestandardowe funkcje.

veerendra pratap singh
źródło
3

Jeśli masz dostęp ssh do komputera Mac, możesz użyć VNC (jak Vine VNC, który pozwala na wiele zastosowań jednocześnie - cienki cienki klient) do sterowania XCode.

Może to być przydatne, jeśli chcesz uzyskać dostęp do komputera Mac Mini z laptopa lub jeśli SO powoduje zablokowanie komputera MacBook.

wisty
źródło
2

Możesz spróbować opracować aplikacje internetowe dla iPhone'a przy użyciu HTML, JavaScript, CSS. Sprawdź podręcznej informacje na stronie Apple.

Konstantin Grushetsky
źródło
Właśnie znalazłem oprogramowanie o nazwie MobiOne Studio. Jak stwierdzono na stronie: „MobiOne Studio - projektant aplikacji i aplikacji na iPhone oraz centrum testowe iPhone'a z emulatorem iPhone'a, który umożliwia tworzenie, dostosowywanie i uruchamianie interfejsów użytkownika iPhone'a w ciągu kilku minut, a nie dni”. Może ci to pomoże. Link: genuitec.com/mobile .
Konstantin Grushetsky