2012-07-19 27 views
7

Mam istniejącą aplikację Flash, która kompiluje się do SWF i działa w Internecie. Zamierzam przekształcić tę aplikację do pracy na urządzeniach mobilnych, takich jak iPhone/iPad.Od aplikacji SWF do AIR na iOS

Widzę, że jest teraz sposób na publish Adobe Air applications on mobile devices. Myślałem, dlaczego nie convert SWF to AIR application, a następnie używać tej aplikacji AIR do publikowania na urządzeniach mobilnych. Czy jest sens? Czy to jest nawet możliwe lub wykonalne?

Co ludzie robią, aby przekonwertować swoje istniejące aplikacje Flash SWF do pracy na urządzeniach mobilnych?

+0

Myślałem, że Apple na to pozwala. http://www.youtube.com/watch?v=_hkfOk8P79s –

+0

Super, kolego powodzenia! – doNotCheckMyBlog

+0

Oczywiście Apple na to zezwala. – iND

Odpowiedz

3

To pytanie było tylko answered here, ale aby podsumować zawartość Flash można spakować na iOS lub inne urządzenie przenośne w środowisku AIR.

AIR można nakładać Flash Professional lub Flash Builder lub Twój SWF mogą być pakowane przy użyciu wiersza poleceń ADT Packager:

  • Pobierz AIR 3.0 SDK.
  • Zapewnij środowisko JRE lub użyj go z Flash Builder.
  • Execute ADT pakować swoje SWF do IPA:

    adt -package -target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc] 
        -keystore iosPrivateKey.p12 -storetype pkcs12 -storepass qwerty12 
        -provisioning-profile ios.mobileprovision 
        HelloWorld.ipa 
        HelloWorld-app.xml 
        HelloWorld.swf icons Default.png 
    

Ważne jest, aby pamiętać, że cały kod wykonywalny musi znajdować się w jednym pliku SWF do uruchomienia na platformie iOS. SWFLoading lub dowolny dynamicznie ładowany plik SWF, który wykonuje kod, nie jest obsługiwany. Połącz swój Flash z jednym plikiem SWF.

Istnieją inne kwestie, takie jak optimizing performance i obsługa wielu rozdzielczości ekranu i współczynników proporcji.

Referencje:

+0

Mówiąc o optymalizacji wydajności, polecam używanie bieżącego zestawu SDK środowiska AIR 3.3, ponieważ działa on znacznie lepiej niż poprzednie wersje. – AlBirdie

2

Istnieje kilka sposobów, aby to osiągnąć:

  1. Ty ca n pobierz Adobe AIR SDK i wykonaj ich help lub this tutorial. Ta metoda byłaby nieco żmudna, gdybyś nie czuł się komfortowo z linią poleceń, ale jest to prawdopodobnie najmocniejsza opcja, ponieważ dostrajasz i kontrolujesz wiele opcji.

  2. Jeśli masz plik FLA, najnowsza wersja programu Flash CS6 powinna zapewnić Ci możliwość łatwego tworzenia pliku IOS IP. Jeśli jesteś użytkownikiem systemu Windows, musisz pobrać plik p12, a także mobilny plik prowizji. Adobe ma dokumentację, jak to zrobić bez komputera Mac. Ostatecznie, kiedy twój IPA dojrzeje do AppStore, potrzebujesz Maca.

Należy pamiętać, że wrażenia użytkownika z pliku SWF nie od razu zostaną dobrze przetłumaczone na iOS. Na przykład rozmiar przycisków, afordancja interaktywnych elementów sterujących użytkownika i, co najważniejsze, zdarzenia najechania kursorem myszy mogą czasem negatywnie wpływać na działanie aplikacji mobilnej.

Ale te problemy nie mają nic wspólnego z SWF, ponieważ widziałem podobne problemy z innymi aplikacjami internetowymi opartymi na HTML.

Powodzenia, powiedziałbym, że pisanie Flasha i działa wszędzie, w tym iPhone/iPad jest naprawdę niesamowitą rzeczą, której większość ludzi nie zna.

2

Robię to dokładnie od około roku.

Musisz skonfigurować certyfikaty za pomocą pęku kluczy na komputerze Mac, a musisz przesłać aplikację z komputera Mac. Jednak nie mam komputera Mac. . . zamiast tego wypożyczam czas na zdalnym Macu używając (macincloud lub innych) i używam Dropbox, aby przesyłać pliki tam iz powrotem.

W zależności od sposobu utworzenia SWF niekoniecznie trzeba kupować produkty Adobe. Używam FlashDevelop, która automatycznie konfiguruje najnowsze zestawy SDK Air i Flex. Dopóki masz licencję programisty, możesz utworzyć aplikację Air, a także możesz utworzyć plik IPA do wczytania do iTunes (lub Google Play lub innych).

Upewnij się, że przeczytałeś również odpowiedź @JasonSturges. Dobre rady i linki.

+0

Więc masz jedną bazę kodu, która kompiluje się do SWF i aplikacji mobilnej? Czy masz dwie linie kodu, jedną do generowania pliku SWF i inną do aplikacji mobilnej? Zgaduję, że to będzie ostatnie. –

+1

Nie, to jedna podstawa kodu, ale można powiedzieć "alternatywne zakończenia". Kompiluję z Flash IDE i używam warunków warunkowych kompilatora ('APPDEV :: forIOS' (może faktycznie być dowolną poprawną nazwą stałą) ustawioną na true lub false), aby wykluczyć sekcje kodu. Myślę, że możesz to zrobić również za pomocą linii poleceń ADT ('-define = APPDEV :: forIOS, true' lub' -define + = APPDEV :: forIOS, true' i trochę kodu instalacyjnego w pliku XML), ale nigdy wypróbowałem to, ponieważ używam również funkcji grx Flash. – iND