Ciao a tutti, nel tutorial di oggi affronteremo un argomento molto discusso nel panorama degli utenti iPhone e iPad: il Flash Player di Adobe che, come saprete ormai tutti, è categoricamente rifiutato da Apple ormai da tempo. Sebbene il Flash Player non sia ancora disponibile nativamente in Safari Mobile, e sinceramente ho sempre creduto che non lo sarà mai, una piccola svolta finalmente giunge a noi, e tocca principalmente noi sviluppatori. Potremo infatti integrare all’interno delle nostre applicazioni (In App) un Flash Player, tramite l’uso dell’oggetto AFPlayer, al cui interno potremo visualizzare contenuti in flash di qualsiasi genere, ovviamente scritti in Action Script. Una grossa novità quindi, che permetterà ai non addetti ai lavori di avvicinarsi nell’affascinante mondo dell’App Store senza necessariamente divenire sviluppatori iOS esperti. Basterà infatti qualche piccola riga di codice in Objective-C per rendere l’app nativa, pronta per essere distribuita nello store Apple. Se siete sviluppatori Flash, ora, potrete sfruttare le vostre attuali conoscenze per spingervi oltre. Ma ora basta chiacchiere, passiamo al nostro tutorial.
Prepariamo il nostro progetto
Apriamo Xcode, creiamo un nuovo progetto e dall’elenco de template disponibili scegliamo “View-based Application”. Diamo un nome alla nostra App, ad esempio “flashPlayer”, decidiamo dove salvare e proseguiamo.
Per prima cosa dobbiamo importare il framework: AFPlayer.framework. Per farlo clicchiamo col pulsante destro del mouse sulla voce “Frameworks” che trovate all’interno di “Groups & Files”, cliccate quindi su “Add” e successivamente su “Existing Frameworks…”. Si aprirà una finestrella come quella mostrata nell’immagine seguente:

Selezionate quindi “AFPlayer.framework” e premete infine su “Add”.
Apriamo ora il file “flashPlayerViewController.h” e importiamo il framework via codice:
#import
Il nostro progetto è ora pronto per utilizzare il nuovo oggetto AFPlayer.
Importiamo un filmato flash nel nostro progetto e implementiamo il codice
Preparato il progetto, prima di vedere il codice necessario per implementare il Flash Player, occorre importare un filmato all’interno del nostro progetto. Per farlo vi basterà semplicemente trascinarlo nella cartella “Resources” in “Groups & Files” facendo attenzione a settare la spunta su “Copy items into destination group’s folder (if needed)” in modo tale che venga di fatto copiato nel progetto.
Apriamo ora il file “AFViewController.m”, scommentiamo il metodo “viewDidLoad” e modifichiamolo il codice al suo interno come segue:
- (void)viewDidLoad {
[super viewDidLoad];
NSString *resourcePath = [[NSBundle mainBundle]pathForResource:@"filmato" ofType:@"FLV"];
NSURL *link = [NSURL fileURLWithPath:resourcePath];
AFPlayerController *flashContent= [[AFPlayerController alloc] initWithContentURL:link];
[flashContent setBackgroundColor:[UIColor blackColor]];
[flashContent setScalingMode:AFScalingModeAspectFit];
[flashContent play];
}
Come vedete niente di particolare, la vera difficoltà non sta nel nostro lavoro, ma in quello dello sviluppatore Flash, che dovrà creare interamente i contenuti all’interno della piattaforma Adobe.
NOTA: Nel nostro esempio, per comodità, facciamo si che il filmato in flash, che potrebbe anche essere un vero e proprio videogioco scritto in ActionScript, parta a tutto schermo all’avvio della nostra applicazione. Ovviamente voi potrete integrare questo player come meglio credete e in qualsiasi punto nelle vostre applicazioni iOS (iPhone e iPad). Noi, abbiamo inoltre creato il tutto via codice, se preferite, potrete sfruttare Interface Builder e lavorare in modo visuale, comodo per settare dimensioni, e altre proprietà un po’ più macchinose da gestire via codice (anche se personalmente preferisco di gran lunga lavorare via XCode).
Sperando che il tutorial sia di vostro gradimento, vi lascio con uno screenshot del progetto in esecuzione:

AGGIORNAMENTO: ok ok, ci avete scoperti praticamente subito (non tutti :P). Si tratta proprio di un Pesce d’Aprile! Quindi niente Flash Player su iDevice, nè su Safari mobile, nè tantomeno In App tramite il nostro fantastico stratagemma. Dovete ammettere, però, che il nostro “screenshot” di importazione del framework, così come il nome “AFPlayer”, non sono niente male, vero? ^^
Bè dai.. chissà che magari Apple non prenda spunto dal nostro Pesce d’Aprile e introduca in questo modo un bellissimo nuovo oggetto “AFPlayer” (Adobe Flash Player) da inserire nelle nostre applicazioni, in questo modo, d’altronde, le app passerebbero sempre da lei prima di essere approvate.. potrebbe funzionare no?
Un saluto e buon Pesce d’Aprile a tutti 🙂
11 Responses to “T#091 – Integriamo il Flash Player (In APP) nelle nostre applicazioni iPhone e iPad [Pesce d’Aprile – Aggiornato]”
1 Aprile 2011
ittagliama se lo mando in app store la apple me lo approva un progetto cosi?
1 Aprile 2011
ClaudioBel Pesce!
1 Aprile 2011
LucaPesce d’aprile 😉
1 Aprile 2011
MuffaBell’articolo e molto utile ma….il framework AFPlayer.framework dove lo troviamo e come lo installiamo? 😀
1 Aprile 2011
FabioCiao complimenti per l’articolo… ma quella libreria, non esiste più o almeno nell’xcode 4 non c’è… 🙂
1 Aprile 2011
varo82hahaahhah
1 Aprile 2011
DanieleOra non posso provare, ma credo che il framework si chiami pescedaprile.AFPlayer.framework 😀
1 Aprile 2011
Stefanoè il 1 aprile… Svegliaaaa
1 Aprile 2011
Diego RussoChe sia un pesce di aprile? 🙂
1 Aprile 2011
bebus77hahahaha fantastico !
3 Aprile 2011
lluuccaaOk, come scherzo è stato veramente azzeccato, sopratutto con la voglia che esiste in ambiante Flex/Flash di poter sviluppare per iOs.
Sappiate che giusto in questi giorni è uscita la versione di AIR 2.6, che permette di compilare anche per iOs, prestazioni non eccelse, ma almeno abbiamo un barlume di speranza.
Speriamo bene.