2012-07-19 23 views
7

Ho un'applicazione Flash esistente, che compila su SWF e gira su web. Sto cercando di convertire quell'applicazione per funzionare su dispositivi mobili come iPhone/iPad.Da SWF a AIR per l'applicazione iOS

Vedo che ora c'è un modo per publish Adobe Air applications on mobile devices. Il mio pensiero è il motivo per cui non è convert SWF to AIR application e quindi utilizzare tale applicazione AIR per pubblicare su dispositivi mobili. Ha senso? Questo è persino possibile o fattibile?

Cosa fa la gente per convertire le proprie applicazioni Flash SWF esistenti su dispositivi mobili?

+0

Pensavo che Apple lo permettesse. http://www.youtube.com/watch?v=_hkfOk8P79s –

+0

Cool, buona fortuna amico! – doNotCheckMyBlog

+0

Ovviamente Apple lo consente. – iND

risposta

3

Questa domanda era solo answered here, ma per ricapitolare qualsiasi contenuto Flash può essere impacchettato su iOS o su un altro dispositivo mobile con AIR.

AIR può essere sovrapposto a Flash Professional o Flash Builder, o il file SWF possono essere confezionati utilizzando la riga di comando ADT packager:

  • Scarica AIR 3.0 SDK.
  • Assicurare JRE o utilizzare quello di Flash Builder.
  • Esegui ADT per confezionare il vostro SWF in un'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 
    

E 'importante notare che tutto il codice eseguibile deve risiedere in un unico file SWF per funzionare su piattaforma iOS. SWFLoading o qualsiasi SWF caricato dinamicamente che esegue il codice non è supportato. Quindi, collega tutti i tuoi Flash a un singolo SWF.

Esistono altre considerazioni, ad esempio optimizing performance e la gestione di più risoluzioni dello schermo e proporzioni.

Riferimenti:

+0

Parlando dell'ottimizzazione delle prestazioni, suggerirei di utilizzare l'attuale SDK di AIR 3.3 in quanto offre prestazioni significativamente migliori rispetto alle versioni precedenti. – AlBirdie

2

Ci sono alcuni modi per raggiungere questo:

  1. È ca n scaricare Adobe AIR SDK e seguirne il numero help o this tutorial. Questo metodo sarebbe un po 'noioso se non ti senti a tuo agio con la riga di comando, ma è forse l'opzione più potente perché puoi modificare e controllare molte opzioni.

  2. Se si dispone del file FLA, l'ultima versione di Flash CS6 dovrebbe fornire i mezzi per creare file IOS IPA in modo più semplice. Se sei un utente di Windows, dovresti ottenere il file p12 e il file di provisioning mobile. Adobe ha documentazioni su come farlo senza un Mac. Alla fine, quando il tuo IPA è maturo per AppStore, avresti bisogno di un Mac.

Ricordare che l'esperienza utente di un SWF non sarebbe immediatamente adatta per iOS. Ad esempio, la dimensione dei pulsanti, l'affidabilità dei controlli utente interattivi e, soprattutto, gli eventi mouseover potrebbero a volte influire negativamente sull'esperienza di un'app mobile.

Ma questi problemi non hanno nulla a che fare con SWF, in quanto ho riscontrato problemi simili con altre app Web basate su HTML.

Buona fortuna, direi che scrivere in Flash e funziona ovunque incluso l'iPhone/iPad è davvero una cosa incredibile che molte persone non conoscono.

2

Ho fatto esattamente questa cosa per circa un anno.

È necessario impostare i certificati utilizzando il portachiavi sul Mac e caricare l'app da un Mac. Tuttavia, non ho un Mac. . . invece, affido tempo a un Mac remoto usando (macincloud o altri), e uso DropBox per inviare i file avanti e indietro.

A seconda di come è stato creato il file SWF, non è necessario acquistare i prodotti Adobe. Io uso FlashDevelop, che imposta automaticamente gli ultimi SDK di Air e Flex. Finché hai una licenza per sviluppatore, puoi creare l'applicazione Air da quella, e puoi anche creare il file IPA per il caricamento in iTunes (o Google Play o altri).

Assicurarsi di aver letto anche la risposta @JasonSturges. Buoni consigli e collegamenti.

+0

Quindi hai un codice base che viene compilato in SWF e applicazione mobile? O hai due code code, una per generare un SWF e un'altra per l'app mobile? Immagino che sarebbe quest'ultimo. –

+1

No, è una base di codice, ma ci sono "finali alternativi", si potrebbe dire. Compilo con Flash IDE e uso condizionali del compilatore ('APPDEV :: forIOS' (può essere effettivamente un qualsiasi nome const valido) impostato su true o false) per escludere sezioni di codice. Penso che puoi farlo anche con la linea di comando ADT ('-define = APPDEV :: forIOS, true' o' -define + = APPDEV :: forIOS, true', e qualche codice di setup nel file XML), ma non ho mai provato, dal momento che anche io uso le funzionalità grx di Flash. – iND