Autor Wątek: Jak ugryźć jabłko?  (Przeczytany 2868 razy)

Offline mihu

  • Użytkownik
    • mihu

# Październik 05, 2014, 12:39:16
Planuję zrobić port mojej aplikacji na urządzenia mobilne Apple i proszę o radę jak za to zabrać się najszybciej i najtaniej. Wiem, że wiele jest dyskusji i artykułów na ten temat, ale po pierwsze krajobraz szybko się zmienia, a po drugie być może dodatkowe okoliczności mojego przypadku ułatwią spersonalizowanie odpowiedzi. Bardzo proszę potraktować mnie tak, jakbym wczoraj dowiedział się o tym, że istnieją telefony i tablety poza Androidem. :)

Mam aplikację na Androida napisaną głównie w C++ (+OpenGL) i chcę użyć Marmalade aby ukryć detale platform-specific i wydać ją na iPhony/iPady, a w dalszej perspektywie być może na inne platformy.

Marmalade najwyraźniej pozwala testować (z grubsza), kompilować a nawet wrzucać testowe buildy na iDevice'y przy użyciu wyłącznie Windowsa. Jedyny krok do którego Mac jest niezbędny to submit aplikacji do AppStore'a (na razie powtarzam co przeczytałem, jeszcze nie miałem z tym żadnej bliższej styczności).

Jeżeli więc Mac jest potrzebny tylko do formalności, to czy mogę zaopatrzyć się w jakiegoś stareńkiego Maca Mini (na Allegro po ~300zł), czy jakaś minimalna wersja systemu/sprzętu jest niezbędna? Jakie będą inne zalety z zakupu porządnego Maca (jakieś symulatory, fajne debuggery?).

Jakie urządzenie (urządzenia?) mobilne będą mi absolutnie niezbędne? Aplikacja na Androidzie ma dość płynne skalowanie wydajności i użytkownicy robią to ręcznie - jak się domyślam na urządzeniach Apple nie jest to mile widziane rozwiązanie. Musiałbym więc albo wybrać jakiś wspólny mianownik, albo ekstrapolować informacji o wydajności na urządzeniach na których testowałem na pozostałe (i zgadywać jakie ustawienie będzie dobre).

Pomijając już kwestię wydajności, da radę kupić jedno urządzenie i chociaż z grubsza być pewnym że będzie działać dobrze na pozostałych (ryzykując ewentualne odrzucenie aplikacji przez Apple - zawsze można zrobić kilka podejść) ?

Jakie urządzenia/wersje systemu musiałbym obsługiwać żeby mieć porządne pokrycie rynku?
« Ostatnia zmiana: Październik 05, 2014, 12:41:43 wysłana przez mihu »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Karol

  • Użytkownik

  • +2
# Październik 05, 2014, 13:08:55
Pierwsze słyszę o możliwości kompilacji i wrzucenia na iCosia pod Windowsem, ale może faktycznie to jest możliwe. Nie wiem, nie wykluczam, ale bym podchodził do tego sceptycznie. Większość takich cross-wynalazków jakie widziałem potrafi utworzyć projekt na iSprzęty, ale i tak wymagany jest XCode do kompilacji.

Ogólnie to na Mac'u masz XCode i tam możesz sobie testować co chcesz na symulatorach (od iPhona 4 po iPhona 6+, iPady też są, domyślnie z iOS8, ale można doinstalować wersję iOS7.1). Jednak kiedy chcesz to wrzucić na urządzenie to potrzebujesz: konto developerskie Apple (99$/rok), utworzenie tam id appki oraz przypisanie UUID urządzenia do swojego profilu (możesz tylko 100 urządzeń przypisać), następnie tworzysz provisioning profile dla appki z tym urządzeniem, ściągasz do siebie i dodajesz do systemu, tak samo certyfikaty do podpisywania kodu. Jak już to będziesz miał to możesz śmiało wrzucać na urządzenie, bez tego nie da rady. Do AppStore też wysyła się z poziomu XCode.

Każdy kolejny iSprzęt jest mocniejszy, teraz wraz z iOS8 iPhony 4 poszły na ławkę (nie dostały już aktualizacji), więc ostatni w szeregu jest teraz iPhone 4S. Jeżeli Twoja gra będzie na tym działać to podziała wszędzie. Tak samo jest z systemem, użytkownicy na ogół aktualizują się i lwia część rynku to iOS7.1/iOS8 (premiera 8 była nie mniej niż miesiąc temu, a już ma 46% urządzeń -> https://developer.apple.com/support/appstore/ ).

2 letni Mac Mini daje radę z całą developerką, choć czuć już momentami, że 4GB to za mało pamięci.
« Ostatnia zmiana: Październik 05, 2014, 13:27:54 wysłana przez Karol »

Offline beermaster

  • Użytkownik

  • +1
# Październik 05, 2014, 13:59:31
W Marmalade SDK żaden MAC nie jest potrzebny do publikacji gier iOsa. Oczywiście musisz mieć konto developerskie. A reszta jest załatwiane poprzez Marmolade.

http://www.drmop.com/index.php/2011/12/10/marmalade-sdk-tutorial-apple-iphone-and-ipad-deployment-and-submissions/
« Ostatnia zmiana: Październik 05, 2014, 14:24:45 wysłana przez beermaster »

Offline mihu

  • Użytkownik
    • mihu

# Październik 05, 2014, 14:27:12
W Marmalade SDK żaden MAC nie jest potrzebny do publikacji gier iOsa. Oczywiście musisz mieć konto developerskie. A reszta jest załatwiane poprzez Marmolade.

http://www.drmop.com/index.php/2011/12/10/marmalade-sdk-tutorial-apple-iphone-and-ipad-deployment-and-submissions/
Hmm. To by było świetne. Ale pod tym linkiem wyjaśniającym jak umieścić aplikację w AppStore jest punt "Uploading your application binary", zaczynający się od słów: "On an Apple Mac, run the Application Loader App (...)".

EDIT: Dopiero zauważyłem linka. Zaraz sobie przejrzę.
EDIT2: Ale tu też jest punkt: "100. Locate and run “Application Loader” on the Mac (Minimum version Mac OS X 10.5)".
« Ostatnia zmiana: Październik 05, 2014, 14:30:06 wysłana przez mihu »

Offline .:NOXY:.

  • Użytkownik
    • Profil

  • +1
# Październik 05, 2014, 14:34:34
Marmalade pozwala na instalowanie tak samo jak UDK ale trzeba podać certifikat i provisioning w ustawieniach. Cala reszta znanych mi rozwiązań porostu generuje projekt xCode (Unity, CoconJS, PhoneGap , Xamarin etc.) Wiec jeżeli chcesz cokolwiek pod iOS pisac te 99$ na rok cie nie ominie (ofc plus VAT wiec 387zl :D)

Tzn jest tez możliwość zbudowania builda na device i bez tego. Są to tak zwane unsigned builds ale przydają się tylko tym co maja jaile albo wysyłają do innych firm build produkcyjny który zostanie podpisany provisioningiem Enterprise. No bo jak wiadomo jak masz Enterprise to możesz rozdawać aplikacje na lewo i prawo.

@mihu co do uploadu to możesz kogoś porostu poprosić :) (Zrobić mu konto uploadera na iTunes Connect) bo kupisz maca za 400zl za rok się okaże ze musisz wydać raz tyle bo teraz wchodzi Yoshemite i utną znowu upload do nowej wersji. (Co Apple bardzo lubi robic...)

TL;DR - Musisz się psychicznie nastawić że w Apple płacisz jak za wjazd samochodem do ASO :)
« Ostatnia zmiana: Październik 05, 2014, 14:38:26 wysłana przez .:NOXY:. »

Offline laggyluk

  • Użytkownik
    • http://laggyluk.com

  • +1
# Październik 05, 2014, 15:02:21
Marmolada daje radę bez maca, upload do appstora można zrobić wirtualną maszyną. Kilka projektów już tak wrzuciłem.

Offline sebas86

  • Użytkownik

# Styczeń 02, 2015, 13:21:17
Da się, wszystkie elementy niezbędne do zbudowania apki na iOS-a mają otwarte źródła. Ale poskładanie działającego toolchaina to istny ból tyłka, kiedyś był dostępny gotowy dla wersji iOS 2/3 ale bez podpisywania – można było testować na urządzeniach z jailbreakiem. Teraz pewnie da się znaleźć coś lepszego (Google wyrzucił niby gotowy toolchain do iOS 5 przygotowany dla Windowsa ale czy działa?). No i debugowanie to też była porażka (jedynie zdalna sesja gdb) – porównując z narzędziami dostępnymi za free na Macku to raczej nie ma się nad czym zastanawiać, chyba, że masz nadmiar wolnego czasu i ekstremalnie mało kasy na środowisko pracy.