Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device...
Transcript of Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device...
![Page 1: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/1.jpg)
Dev iOS
![Page 2: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/2.jpg)
Argomenti trattati
Elenco argomenti (1/2)
iOS, il sistema operativo di iPhone/iPad• I 4 livelli dell'architettura iOS:
Cocoa touch Media Core services Core OS
Le App: struttura e funzionamento• Area applicazioni• Ciclo di vita di una App• I View Controller
![Page 3: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/3.jpg)
Argomenti trattati
Elenco argomenti (2/2)
Sviluppo di un'applicazione: • L'ambiente di sviluppo • Alcuni esempi
Pubblicazione di un'App.• Procedura • Certificati • Appunti sull’app submission
![Page 4: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/4.jpg)
Argomenti trattati
Prerequisiti
Per lo sviluppo di applicazioni su iPhone e/o iPad sono necessari:
• HW Apple MAC
• OS Snow Leopard• X-Code 3.2.3 e succ. (contiene il multitasking e la
simulazione per iPad).
X-code e' scaricabile gratuitamente da: http://developer.apple.com/iphone
![Page 5: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/5.jpg)
iOS, il sistema operativo di iPhone/iPad
![Page 6: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/6.jpg)
L'architettura applicativa su iPhone / iPad
iOS, il sistema operativo di iPhone/iPad
![Page 7: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/7.jpg)
iOS, il sistema operativo di iPhone/iPad
Cocoa /OSX = Cocoa Touch/ iOS
Serie di framework in Obj-C che codifica le infrastrutture e le tecnologie più comuni:
• Touch• Gesture
• Standard view controller (tutte le view tipiche di iOS – UIKit framework)
• Notification• Multitasking• Dataprotection• p2p
• ...
Cocoa Touch: interfaccia grafica iOS
![Page 8: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/8.jpg)
iOS, il sistema operativo di iPhone/iPad
Framework in Obj-C che codifica le interfaccia utente disponibili in un’App
UIKit framework
![Page 9: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/9.jpg)
iOS, il sistema operativo di iPhone/iPad
I device iOS puntano molto sulle proprio doti multimediali.
Per essere estremamente efficienti, integrano un Framework in Obj-C per la gestione dei contenuti multimediali
iOS garantisce quindi un’ottima gestione della grafica 2D e 3D.
Media: riproduzioni audio e video
![Page 10: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/10.jpg)
iOS, il sistema operativo di iPhone/iPad
Framework in Obj-C che codifica le infrastrutture e le tecnologie più comuni (Foundation framework):
• Gestione interazione fra porzioni in C e oggetti Obj-C
• Utilizzo SQL (SQLite)
• XML parsing• InApp-Purchase• Grand Central Dispatcher (GCD)• ...
Core layer
![Page 11: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/11.jpg)
iOS, il sistema operativo di iPhone/iPad
il framework Foundation definisce le classi Obj-C di base per lo sviluppo su iOS.
Foundation framework
![Page 12: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/12.jpg)
iOS, il sistema operativo di iPhone/iPad
Definisce le caratteristiche più profonde per l’interazione con l’HW
• Caratteristiche del sistema operativo
• Sicurezza dei dati
• Accesso dall’esterno• Altri periferiche (accelerometri...)• ...
Core OS
![Page 13: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/13.jpg)
Le App: struttura e funzionamento
![Page 14: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/14.jpg)
Le App: struttura e funzionamento
Le applicazioni di iOS nascono con dei precisi requisiti:
• Caricamento veloce / uso breve• Utilizzo di memoria solo quando in
funzione• Risparmio energetico• Multitasking (ma solo di recente)
• SICUREZZA!!
Anatomia di un’app
![Page 15: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/15.jpg)
Le App: struttura e funzionamento
Le applicazioni sono confinate in specifici recinti di memoria (SandBox)
Caratteristiche:
• Ogni app ha una propria root
• SandBox inaccessibile ad
altre app• Possibilità di criptare• Condivisione files fra app
tramite PasteBoard
• BackUp
Sicurezza
![Page 16: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/16.jpg)
Le App: struttura e funzionamento
Un’app deve sempre dichiarare esplicitamente quali sono le funzionalità richieste al device.
Questo si fa nell’ info.plist
Supporto funzionalità device
![Page 17: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/17.jpg)
Le App: struttura e funzionamento
• UIApplication: oggetto standard per la gestione degli eventi
• UIApplicationDelegate: oggetto gestito dallo sviluppatore per la risposta agli eventi.
• Data model: definisce la gestione dei dati
• UIViewController: presentazione delle varie interfaccia
• UIWindow: contenitore dell’interfaccia
Gli elementi di un’applicazione
![Page 18: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/18.jpg)
Le App: struttura e funzionamento
• main(): file principale che viene richiamato per avviare l’applicazione
• UIApplicationMain: avvia il ciclo principale
• Info.plist: definisce, fra l’altro, il NIB (“interfaccia”) principale
• MainWindows.xib: definito da Info.plist contiene:
Delegato
View controller
Window
Anatomia di un’applicazione
![Page 19: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/19.jpg)
Le App: struttura e funzionamento
• Un qualunque evento viene incapsulato in un oggetto chiamato UIEvent.
• La risposta a un evento viene fonita dall’UIResponter
• Gli eventi generati vengono inseriti in una Event queue
• La risposta viene fornita da una responder chain (catena di risponditori)
• Nel caso in cui non ci sia il riponditore adatto, l’evento viene ignorato
Risposta agli eventi
![Page 20: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/20.jpg)
Le App: struttura e funzionamento
Gestisce il comportamento dell’interfaccia utente e, in senso estremamente generale, dell’app.
E’ composto da una serie di strutture tipiche di iOS, codificate nell’UIKit framework
Può essere sviluppato con in svariati gradi di complessità
Il ViewController
![Page 21: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/21.jpg)
Sviluppo di un’App
![Page 22: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/22.jpg)
Cocoa Touch
&
Objective-C
Sviluppo di un’App
• Objective – C: sovrainsieme di C, principale linguaggio per lo sviluppo di App
• Cocoa Touch: insieme di frameworks in Obj-C. Molto potenti per lo sviluppo di App
Il linguaggio: Objective-C e Cocoa
![Page 23: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/23.jpg)
Sviluppo di un’App
X-code: gestione dell’applicazione suddivisa in:
Classes
Other Sources
Resources
Frameworks
Products
Interface Builder: strumento per la gestione della grafica dell interfaccia.
L’ambiente di sviluppo: X-code e IB
![Page 24: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/24.jpg)
Sviluppo di un’App
Responsabile della visualizzazione e del funzionamento dell’applicazione.
Si compone di :
•Header (.h)
•Implementezione (.m)
•Interfaccia grafica (.xib)
Implementa:
•Oggetti visualizzati
•Azioni
Strutture del ViewController
![Page 25: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/25.jpg)
Pubblicazione di un’App
![Page 26: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/26.jpg)
Pubblicazione di un’App
Per poter installare un’App in via di sviluppo su un dispositivo è necessario essere in possesso di una account Apple developer (a pagamento).
Punti essenziali:
Il Development Provisioning
![Page 27: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/27.jpg)
Pubblicazione di un’App
Le applicazioni sviluppate devono essere inviate a Apple per la valutazione e la successiva pubblicazione su AppStore.
Molta importanza data a:
Descrizione dell’applicazione (keywords)
Definizione delle caratteristiche dispositivo
iTunes connect consente di monitorare lo stato di avanzamento del processo di valutazione dell’App
iTuner Connect
![Page 28: Soluzioni Voice e Video over IP - xenialab.it · iOS, il sistema operativo di iPhone/iPad I device iOS puntano molto sulle proprio doti multimediali. Per essere estremamente efficienti,](https://reader033.fdocument.pub/reader033/viewer/2022060303/5f08dc7f7e708231d424142d/html5/thumbnails/28.jpg)
Pubblicazione di un’App
Evitare categoricamente di utilizzare API private
Non accedere ai dati personali dell’utente (Numero di telefono!!)
Se l’app utilizza la connessione di rete, sempre fare il controllo della connessione
Specificare le caratteristiche richieste al device nell’info.plist
Fare una descrizione attenta e fedele del funzionamento dell’app
Definire keyworks appropriate
Fornire sempre un account di test funzionante per il tester
Fare attenzione alle limitazioni relative ai contenuti e al copyright
Appunti sull’app submission