Słyszałem, że musisz mieć komputer Mac, jeśli chcesz tworzyć aplikacje na iPhone'a. Czy to prawda?
Czy można tworzyć aplikacje na iPhone'a za pomocą Linuksa? Jeśli tak, czego potrzebuję i skąd pobrać niezbędne narzędzia?
Słyszałem, że musisz mieć komputer Mac, jeśli chcesz tworzyć aplikacje na iPhone'a. Czy to prawda?
Czy można tworzyć aplikacje na iPhone'a za pomocą Linuksa? Jeśli tak, czego potrzebuję i skąd pobrać niezbędne narzędzia?
Odpowiedzi:
Aby uzyskać odmienną odpowiedź, używam OS X i Xcode na maszynie zwirtualizowanej (VMware) w systemie Linux. Procesor to Core2Quad (Q8800) i jest on bardzo szybki. Znalazłem online gotową maszynę wirtualną (pozostawię to Tobie do znalezienia) Programowanie Xcode / iPhone działa idealnie, podobnie jak debugowanie przez USB do samego telefonu.
Właściwie bardzo mnie to zaskoczyło - ale nie miałem żadnych problemów.
Odpowiedź na to pytanie naprawdę zależy od tego, czy chcesz tworzyć aplikacje, które są następnie dystrybuowane za pośrednictwem sklepu iPhone. Jeśli tego nie zrobisz i nie masz nic przeciwko tworzeniu dla tłumu iPhone'ów z „jailbreak” - możliwe jest rozwijanie z Linuksa.
Zajrzyj na stronę tego faceta, by znaleźć obszerny (choć trochę skomplikowany) przewodnik na temat tego, co robić:
Jak dotąd wydaje się to prawdą. Jedyny zestaw SDK dostępny w Apple dotyczy tylko środowiska MacOS. Byłem tym zdenerwowany, ale teraz zastanawiam się nad kupnem komputera Mac, tylko po to, aby opracować iPhone'a. Naprawdę nie podoba mi się to, co robią i mam nadzieję, że dobry zestaw SDK wyjdzie dla innych środowisk, takich jak Linux i Windows.
Przeszkody dotyczące zestawu SDK:
IPhone SDK i darmowe oprogramowanie: nie pasują
Niedawno firma Apple wydała zestaw programistyczny (SDK) dla iPhone'a, ale jeśli masz nadzieję na przeniesienie lub opracowanie oryginalnego oprogramowania open source, wiadomości nie są dobre. Warunki podpisywania kodu i nieujawniania sprawiają, że wolne oprogramowanie jest zabronione.
Sam zestaw SDK można pobrać bezpłatnie, za pomocą którego można pisać programy i uruchamiać je na symulatorze oprogramowania. Aby jednak faktycznie wydać napisane przez Ciebie oprogramowanie, musisz zarejestrować się w Programie dla deweloperów iPhone'a - krok inny niż pobieranie pakietu SDK i taki, który wymaga zgody Apple.
Myślę, że to raczej elitarne, by sądzić, że tylko użytkownicy makr są wystarczająco dobrzy, aby pisać programy na swój telefon, a fakt, że musisz kupić licencję za 100 USD, jeśli chcesz opublikować swoje rzeczy, naprawdę utrudnia programistom hobbystycznym. Chociaż jeśli to właśnie musisz zrobić, planuję skakać przez ich obręcze; Naprawdę chciałbym opracować kilka rzeczy na moim iPhonie.
Był kiedyś projekt poświęcony rozwiązaniu tej wady: iphone-dev
Celem projektu iPhone-dev jest stworzenie bezpłatnego, przenośnego, wysokiej jakości zestawu narzędzi, który umożliwi rozwój Apple iPhone i innych urządzeń wbudowanych opartych na platformie ARM / Darwin.
Jeśli chodzi o alternatywny łańcuch narzędzi, strona Saurika jest przydatna, ale w przypadku najnowszego oprogramowania układowego wskazuje na zbudowanie samego iPhone'a i nie wskazuje, że konieczne może być skopiowanie niezbędnych plików oprogramowania iPhone do środowiska Linux. Nie jest to niemożliwe, ale wymaga tylko dodatkowej pracy, szczególnie w celu podpisania kodu (istnieją również otwarte alternatywne rozwiązania).
Zobacz także inne przewodniki (dla tego samego łańcucha narzędzi), które podchodzą do niego bardziej metodycznie.
Sugeruję, aby nadal wykonać ostateczną kompilację, podpisywanie kodu i pakowanie w XCode (co może oznaczać pożyczanie czyjegoś Maca) na wypadek, gdybyś miał problemy z przesłaniem aplikacji do Apple. Korzystanie z alternatywnego łańcucha narzędzi otwiera (przynajmniej na Macu) możliwość użycia innych IDE innych niż XCode do opracowania aplikacji i ponownego skorzystania z XCode do wdrożenia i testowania z symulatorem.
Oczywiście, jeśli podpisywanie kodu / generowanie certyfikatu działa z wiersza poleceń spoza XCode, możesz zainstalować certyfikat na swoim iPhonie i tam przetestować (instalując aplikację przez iTunes z twoim certyfikatem).
Jedynym znanym mi sposobem programowania w Linuksie dla iPhone'a jest instalacja Vmware i praca nad uruchomieniem OS X na maszynie wirtualnej. Biorąc to pod uwagę, istnieją przy tym pewne „prawne” obawy. Mówi się, że OS X Server można zwirtualizować, ale o ile nie wiem o rozwoju.
Jeśli naprawdę mówisz poważnie, to właśnie to zbadam.
Powodzenia.
Możesz użyć Tersus (open source), co pozwala wyeksportować aplikację jako projekt Xcode.
Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.
Dlatego nie będzie w stanie spełnić i podpisać natywnej aplikacji na iOS
Możesz być w stanie napisać kod na komputerze z systemem Linux, który ostatecznie znajdzie się na iPhonie lub iPadzie, ale ostatecznie potrzebujesz komputera Mac, aby przetestować lub wdrożyć kod na iPhonie lub przesłać go do App Store. W końcu potrzebujesz komputera Mac, więc równie dobrze możesz wykonać pracę na komputerze Mac, korzystając ze wszystkich narzędzi, które zapewnia Apple. Istnieją alternatywy dla Xcode i Objective-C, takie jak Monotouch - ale wykorzystują one również narzędzia Apple.
Możesz przy odrobinie pracy uruchomić system OS X na maszynie wirtualnej w systemie Linux. Należy jednak zauważyć, że spowoduje to złamanie umowy licencyjnej OSX, nawet jeśli kupisz kopię OSX - ponieważ jest ona licencjonowana tylko do uruchamiania na sprzęcie Apple.
Przykro nam, że przekazuję tę wiadomość - ekosystem wokół iPhone'a / iPada jest bardzo ściśle kontrolowany.
EDYCJA: Jednym z głównych wyjątków jest pisanie aplikacji internetowej na iPhone'a. Istnieje kilka doskonałych aplikacji internetowych na iPhone'a, które są prawie tak dobre, jak wrażenia użytkownika, jak aplikacja natywna. Zinterpretowałem jednak twoje pytanie dotyczące tworzenia aplikacji natywnych. Aplikacje internetowe, chociaż użytkownik może utworzyć ikonę do ich uruchomienia - nadal są obywatelami drugiej kategorii.
Odniosłem sukces w budowaniu aplikacji dla systemu iOS na systemie Linux przy użyciu narzędzia clang systemu iOS firmy cjacker . Zasadniczo składa się z wcześniejszych narzędzi clang i lvvm z twojej dystrybucji Linuksa, portu linuksowego linkera Apple'a i kilku dodatkowych narzędzi, które upraszczają proces kompilacji (takich jak konwertowanie projektów xcode do formatu Makefile).
Instalacja zajmuje kilka kroków, ale jesteś programistą, więc przywykniesz do tego. Opublikowałem aktualne howto dla Debiana 7 (Wheezy) online:
http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7
W przeciwnym razie chcesz przejść do instrukcji ogólnych, które są nieco starsze:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
Powodzenia.
Istnieje framework o nazwie Rhodes .
Koncepcja opiera się na Ruby on Rails, a Ty tworzysz swoją aplikację mobilną w Ruby i HTML, a także możesz pisać kod w środowisku Linux. Następnie możesz utworzyć konto w Rhohub , do którego dodajesz kod (za pośrednictwem GitHub ), i pozwala on na kompilowanie go dla iPhone'a, Blackberry, Androida, Windows Mobile i Symbian, wszystkie z tym samym kodem. Nie musisz kodować w Objective-C na iPhone'a, ani Java na Androida, itd. Konwertuje to za Ciebie. Wszystko, co musisz zrobić, to przestrzegać zasad tworzenia aplikacji na iPhone'a (lub telefonów, dla których chcesz opracować), aby można je było zaakceptować w iTunes (lub na równoważnym rynku).
Umożliwi to również dodanie aplikacji do iTunes.
Nie znalazłem jednak żadnych emulatorów, co oznacza, że aby przetestować aplikację, musisz zainstalować ją na iPhonie, co jest misją.
Korzystam z tej opcji, ponieważ chcę tworzyć aplikacje na wszystkie telefony i już używam Ruby on Rails. Jeśli chcesz tylko stworzyć aplikację na iPhone'a, zainwestuj w komputer Mac.
Mam nadzieję że to pomoże.
Masz rację, telefony z wyłączonym więzieniem są ograniczone do sklepu Apple App Store, a Apple „ma prawo” egzekwować dowolną zasadę, jest to całkowicie niewolne terytorium. Jednak podczas opracowywania nie trzeba w ogóle mieć do czynienia z Apple. Możesz użyć np. Rsync do przesłania kodu do urządzenia i przetestowania go.
W pewnym stopniu tak, jest to możliwe. Możesz wpisać kod celu C i skonfigurować swoje projekty. Możesz nawet przetestować części C i C ++ swojego kodu za pomocą gcc.
Czego nie możesz zrobić:
Musisz zdobyć Maca. Dostępnych jest kilka łańcuchów narzędzi (takich jak Win-Chain), które pozwalają pisać i budować aplikacje i Phone na Windowsie. Istnieje kilka powiązanych samouczków dotyczących budowania kodu Celu C w systemie Windows. Ale jest problem, dlatego opracowane w ten sposób aplikacje będą działać tylko na Jail broken i Telefony.
Widzieliśmy kilka hacków, aby sobie z tym poradzić i przejść do App Store, ale ponieważ Apple ciągle aktualizuje zestawy SDK, łańcuchy narzędzi wymagają regularnych aktualizacji. Cały czas trzeba sobie z tym poradzić. Jeśli chcesz mieć gotową aplikację, możesz również skorzystać z pomocy Arcappa, która uruchamia aplikacje w rozsądnej cenie. tworzenie aplikacji na iPhone'a
Podjąłem próbę przeniesienia cocos2d-iphone do GNUstep, abyś mógł opracować grę opartą na cocos2d. Jednak do publikowania potrzebujesz komputera Mac. cocos2d-GNUstep .
Polecam uzyskanie Maca, ponieważ symulator iOS jest niesamowity do testowania na wczesnych etapach aplikacji. Ale wiem o małej firmie, z którą współpracujemy, która rozwija się przy użyciu Unity, więc nie potrzebują mnóstwa komputerów Mac. W ten sposób potrzebują tylko jednego komputera Mac do biura, a to tylko do skompilowania ostatecznej wersji. Oznacza to również, że działa na Androidzie, ale tak naprawdę zależy od tego, co budujesz, ponieważ jest to silnik gier. Możesz zajrzeć do aplikacji internetowych przy użyciu platform takich jak Sencha Touch Mobile
Jedność: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/
Jeśli cenisz swój czas, kup komputer Mac! Nie wiem wystarczająco dużo o opcjach programistycznych dla Linuksa, aby zaoferować realne rozwiązanie, ale wydaje się, że proponowane metody wymagają całkiem niezłej pracy. Jeśli planujesz poważnie pisać i sprzedawać aplikacje na iPhone'a, myślę, że z łatwością możesz odzyskać koszty komputera Mac Mini lub Macbook. :-)
Nigdy nie uzyskasz zatwierdzenia aplikacji przez Apple, jeśli nie zostanie ona opracowana przy użyciu Xcode. Nigdy. A jeśli włamiesz się do SDK, aby rozwijać się w systemie Linux, a Apple się dowie, nie zdziw się, gdy zostaniesz obsłużony. Jestem członkiem programu dla programistów ADC i iPhone. Zaufaj, Apple poważnie podchodzi do tego.
Nie ryzykuj, kup Macbooka lub Maca mini (tak, mini może uruchomić Xcode - choć powoli - zwiększ pamięć RAM, jeśli korzystasz z mini). Ponadto, chociaż widziałem włamanie się OS X na VMware, nigdy nie widziałem nikogo, kto uruchomiłby Xcode na VM. Więc powodzenia. I sprawdziłbym EULA zanim przejdziesz przez kłopoty.
PS: Po przeczytaniu powyższego, tak, zgadzam się Jeśli włamiesz się do SDK i opracujesz w Linuksie, przynajmniej zrób ostateczne opakowanie na Macu. I prześlij go za pośrednictwem komputera Mac. Apple nie przebiega przez wiersz po wierszu, więc wątpię, żeby to złapali. Ale stary, to dużo jeśli i praca. Zabaw się jednak. :)