Xamarin Forms – iOS (Visual Studio + Buildserver na Macu)

No cóż – dalszy ciąg przygód z Xamarin Forms nadal nie napawa mnie optymizmem. Zacznę od dobrych rzeczy – koledzy używający go do robienia Androidowej wersji mają dużo mniej problemów ze środowiskiem Xamarin. Podobnie jak ja korzystają z Visual Studio, tyle że z 2013. Ja używam 2012.

Ze złych rzeczy – Xamarin iOS nieprzerwanie raczy mnie różnymi „funkcjonalnościami”:

– nie działa deployment, tudzież debuging aplikacji na iPadzie. Z tego co czytałam jakiś czas temu, któraś kolejna wersja Xamarina zepsuła możliwość deployowania aplikacji iPadowych bezpośrednio na to urządzenie. O ile mi wiadomo nie zostało to naprawione do tej pory. Dlatego też debugging robię tylko na emulatory a deployment od wielkiego święta bezpośrednio z Maca.

– można sparować z buildserverem na Macu tylko jedną instancję Visual Studio. Gdybym chciała dwie – nie da się. W związku z tym nie jestem w stanie się całkowicie uniezależnić od maszynki Macowej. Tym bardziej, że parowanie potrafi się zepsuć – tak po prostu bez żadnego powodu i trzeba procedurę powtarzać.

– brakuje Intellisense w XAMLu (VS2012 + Xamarin) – w związku z czym jeśli chcę sprawdzić czy mogę użyć jakiejś property czy taga, muszę googlać lub sprawdzać poprzez próbę uruchomienia emulatora.

– taka próba uruchomienia wówczas kończy się komunikatem o błędzie wymieniającym błędnego taga albo też cichym crashem.

– emulator też potrafi się zawiesić podczas stopowania procesu debugowania – pomaga albo cierpliwe poczekanie aż wszystko się porządnie porozłącza (ale po trzecim razie w ciągu dnia cierpliwość się człowiekowi kończy i można po prostu wyłączyć emulator, co również spowoduje przerwanie procesu debugowania.

– czasem też nie działa mi Intellisense w code behind. Aczkolwiek widziałam VS 2013 z Resharperem, w którym działa Intellisense w XAMLu, więc może są jakieś sposoby na to.

Generalnie w tym momencie najbardziej rozczarowuje mnie fakt, iż nie mogę po prostu tego Maca gdzieś postawić daleko i więcej na niego nie patrzeć – byle by tylko budował te aplikacje i deployował na iPada. A brak Intellisense doprowadza mnie po prostu do szału, bo zmniejsza efektywność i szybkość o jakieś 2/3.

  • beginner

    Cześć. Jestem laikiem i dopiero zaczynam zabawę z Xamarin na Visual Studio, dlatego b. proszę o odpowiedź, nawet jeśli z Twojej perspektywy moje pytania będą bardzo banalne:)

    1. Czy mogę korzystać z Xamarin.iOS na VS (2015) nie mając dostępu do Maca a jedynie do Ipada? Wiem, że mogę bez maca edytować projekt, już zrobiony. Jednak czy mógłbym przy użyciu ipada budować aplikację (storyboard) , czy też bez maca jest to niemożliwe?

    2. Czy muszę potrzebować fizycznego komputera maca, czy też może to działać w oparciu o wirtualną maszynę? Jeśli tak, to czy możesz polecić mi jakiś tutorial, jak taką maszynę skonfigurować?

    Będę wdzięczny za odpowiedź 😉

  • Iwona

    Cześć Beginner,
    Od mojej przygody z Xamarinem co prawda minęło trochę czasu, bo miała ona miejsce wtedy, gdy pisałąm te wpisy a później na szczęście zajęłam się czymś innym. Jednak myślę, że zbyt wiele w kwwestii programowania na iOS się nie zmieniło, bo Apple w swoich decyzjach bywa niezmienny. Odpowiem jednak na Twoje pytania zgodnie z dawną wiedzą:
    1 – Edycja jest możliwa, bo wystarczy Ci faktycznie Visual Studio albo Xamarin Studio, żeby to robić, ale budowanie nie. Do budowania potrzebny jest Mac a także konto developerskie. Niestety dość drogie. Tutaj jest porównanie możliwości:
    2 – Próbowałąm kiedyś przygód z wirtualką i straciłam cierpliwość;) Po pierwsze dlatego, że ogólnie MAC OS nie wspiera wirtualizacji, czyli nie możemy go zainstalować na wirtualnej maszynie tak jak to robimy z Linuxem czy Windowsem. Istnieją pewne zmodyfikowane wersje ale i tu, po drugie, nie da się tego używać, bo działa potwornie wolno:(
    Podsumowując – buildserver na Macu jest niestety konieczny. Jest jeszcze coś takiego jak MacInCloud http://www.macincloud.com/features/tools/tools. Niektórzy na sieci to polecają, więc może na początek jest to warte spróbowania. Jednak chyba nie ominie Cię konieczność wykupienia konta developerskiego, żeby móc wrzucić aplikację do Apple Store.