{"id":6480,"date":"2011-04-01T10:24:52","date_gmt":"2011-04-01T08:24:52","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=6480"},"modified":"2011-04-01T18:02:00","modified_gmt":"2011-04-01T16:02:00","slug":"t091-integriamo-il-flash-player-in-app-nelle-nostre-applicazioni-iphone-e-ipad","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/t091-integriamo-il-flash-player-in-app-nelle-nostre-applicazioni-iphone-e-ipad\/","title":{"rendered":"T#091 &#8211; Integriamo il Flash Player (In APP) nelle nostre applicazioni iPhone e iPad [Pesce d&#8217;Aprile &#8211; Aggiornato]"},"content":{"rendered":"<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-00.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-00.jpg\" alt=\"flash-player-iPhone-iPad-AFPlayerFramework-00\" title=\"flash-player-iPhone-iPad-AFPlayerFramework-00\" width=\"150\" height=\"114\" class=\"alignleft size-full wp-image-6482\" \/><\/a> 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, \u00e8 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\u00e0 mai, una piccola svolta finalmente giunge a noi, e tocca principalmente noi sviluppatori. Potremo infatti integrare all&#8217;interno delle nostre applicazioni (In App) un Flash Player, tramite l&#8217;uso dell&#8217;oggetto AFPlayer, al cui interno potremo visualizzare contenuti in flash di qualsiasi genere, ovviamente scritti in Action Script. Una grossa novit\u00e0 quindi, che permetter\u00e0 ai non addetti ai lavori di avvicinarsi nell&#8217;affascinante mondo dell&#8217;App Store senza necessariamente divenire sviluppatori iOS esperti. Baster\u00e0 infatti qualche piccola riga di codice in Objective-C per rendere l&#8217;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.<!--more--><\/p>\n<h4>Prepariamo il nostro progetto<\/h4>\n<p>Apriamo Xcode, creiamo un nuovo progetto e dall&#8217;elenco de template disponibili scegliamo &#8220;View-based Application&#8221;. Diamo un nome alla nostra App, ad esempio &#8220;flashPlayer&#8221;, decidiamo dove salvare e proseguiamo.<\/p>\n<p>Per prima cosa dobbiamo importare il framework: <strong>AFPlayer.framework<\/strong>. Per farlo clicchiamo col pulsante destro del mouse sulla voce &#8220;Frameworks&#8221; che trovate all&#8217;interno di &#8220;Groups &#038; Files&#8221;, cliccate quindi su &#8220;Add&#8221; e successivamente su &#8220;Existing Frameworks\u2026&#8221;. Si aprir\u00e0 una finestrella come quella mostrata nell\u2019immagine seguente:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-01.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-01.jpg\" alt=\"flash-player-iPhone-iPad-AFPlayerFramework-01\" title=\"flash-player-iPhone-iPad-AFPlayerFramework-01\" width=\"336\" height=\"514\" class=\"aligncenter size-full wp-image-6481\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-01.jpg 336w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-01-196x300.jpg 196w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-01-98x150.jpg 98w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Selezionate quindi &#8220;AFPlayer.framework&#8221; e premete infine su &#8220;Add&#8221;.<\/p>\n<p>Apriamo ora il file &#8220;flashPlayerViewController.h&#8221; e importiamo il framework via codice:<\/p>\n<pre lang=\"objc\" line=\"1\" escaped=\"true\">\r\n#import <AFPlayer\/AFPlayer.h>\r\n<\/pre>\n<p>Il nostro progetto \u00e8 ora pronto per utilizzare il nuovo oggetto AFPlayer.<\/p>\n<h4>Importiamo un filmato flash nel nostro progetto e implementiamo il codice<\/h4>\n<p>Preparato il progetto, prima di vedere il codice necessario per implementare il Flash Player, occorre importare un filmato all&#8217;interno del nostro progetto. Per farlo vi baster\u00e0 semplicemente trascinarlo nella cartella &#8220;Resources&#8221; in &#8220;Groups &#038; Files&#8221; facendo attenzione a settare la spunta su &#8220;Copy items into destination group\u2019s folder (if needed)&#8221; in modo tale che venga di fatto copiato nel progetto.<\/p>\n<p>Apriamo ora il file &#8220;AFViewController.m&#8221;, scommentiamo il metodo &#8220;viewDidLoad&#8221; e modifichiamolo il codice al suo interno come segue:<\/p>\n<pre lang=\"objc\" line=\"1\" escaped=\"true\">\r\n- (void)viewDidLoad {\r\n\t[super viewDidLoad];\r\n\t\r\n\tNSString *resourcePath = [[NSBundle mainBundle]pathForResource:@\"filmato\" ofType:@\"FLV\"];\r\n\tNSURL *link = [NSURL fileURLWithPath:resourcePath];\r\n\tAFPlayerController *flashContent= [[AFPlayerController alloc] initWithContentURL:link];\r\n\t\r\n\t[flashContent setBackgroundColor:[UIColor blackColor]];\r\n\t[flashContent setScalingMode:AFScalingModeAspectFit];\r\n\t\r\n\t[flashContent play];\t\r\n}\r\n<\/pre>\n<p>Come vedete niente di particolare, la vera difficolt\u00e0 non sta nel nostro lavoro, ma in quello dello sviluppatore Flash, che dovr\u00e0 creare interamente i contenuti all&#8217;interno della piattaforma Adobe.<\/p>\n<p><strong>NOTA:<\/strong> Nel nostro esempio, per comodit\u00e0, facciamo si che il filmato in flash, che potrebbe anche essere un vero e proprio videogioco scritto in ActionScript, parta a tutto schermo all&#8217;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\u00e0 un po&#8217; pi\u00f9 macchinose da gestire via codice (anche se personalmente preferisco di gran lunga lavorare via XCode).<\/p>\n<p>Sperando che il tutorial sia di vostro gradimento, vi lascio con uno screenshot del progetto in esecuzione:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-02.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-02.jpg\" alt=\"flash-player-iPhone-iPad-AFPlayerFramework-02\" title=\"flash-player-iPhone-iPad-AFPlayerFramework-02\" width=\"234\" height=\"518\" class=\"aligncenter size-full wp-image-6483\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-02.jpg 234w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/flash-player-iPhone-iPad-AFPlayerFramework-02-135x300.jpg 135w\" sizes=\"auto, (max-width: 234px) 100vw, 234px\" \/><\/a><br \/>\n<\/center><\/p>\n<p><strong>AGGIORNAMENTO:<\/strong> ok ok, ci avete scoperti praticamente subito (non tutti :P). Si tratta proprio di un Pesce d&#8217;Aprile! Quindi niente Flash Player su iDevice, n\u00e8 su Safari mobile, n\u00e8 tantomeno In App tramite il nostro fantastico stratagemma. Dovete ammettere, per\u00f2, che il nostro &#8220;screenshot&#8221; di importazione del framework, cos\u00ec come il nome &#8220;AFPlayer&#8221;, non sono niente male, vero? ^^<br \/>\nB\u00e8 dai.. chiss\u00e0 che magari Apple non prenda spunto dal nostro Pesce d&#8217;Aprile e introduca in questo modo un bellissimo nuovo oggetto &#8220;AFPlayer&#8221; (Adobe Flash Player) da inserire nelle nostre applicazioni, in questo modo, d&#8217;altronde, le app passerebbero sempre da lei prima di essere approvate.. potrebbe funzionare no?<\/p>\n<p>Un saluto e buon Pesce d&#8217;Aprile a tutti \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ciao a tutti, nel tutorial di oggi affronteremo un argomento molto discusso nel panorama degli utenti iPhone&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[31],"tags":[658,657,661,660,659,242],"class_list":["post-6480","post","type-post","status-publish","format-standard","hentry","category-comunicazioni","tag-applicazioni-iphone-e-ipad","tag-flash-player-iphone","tag-pesce-daprile","tag-programmare-ios","tag-tutorial-di-programmazione-iphone","tag-tutorial-xcode"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/6480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=6480"}],"version-history":[{"count":6,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/6480\/revisions"}],"predecessor-version":[{"id":6490,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/6480\/revisions\/6490"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=6480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=6480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=6480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}