SlideShare a Scribd company logo
iOS: Sviluppo App iPhone & 
iPad 
Dario Pizzuto 
1
Tools Overview 
2
Tools 
Argomenti 
• Xcode 
• iOS Simulator 
• iOS Developer Library 
• Instruments 
3
Tools 
4 
Xcode 
• IDE (Integrated Development Environment) 
• Scrittura codice 
• Performance analysis 
• Client Git/Svn 
• Test 
✓ Download da Mac AppStore (Xcode 5)
Tools 
5
Tools 
6 
iOS Simulator 
• Simulatore dei device iOS (iPhone, iPad) 
• Contiene tutti i servizi di un device reale 
• Gestisce tutti i frameworks 
• Supporta varie versioni di iOS 
✓ Download da Xcode 
• Preferences -> Downloads
Tools 
7
Tools 
8 
iOS Developer Library 
• Documentazione 
• Esempi 
• Disponibile: 
✓ Web 
✓ Xcode -> Window -> Documentation and API 
reference (o Shift+Cmd+0) 
✓ Fondamentale
Tools 
9
Tools 
Instruments 
• Leaks 
• Test Network, CPU, RAM... 
• Test e profilazione prima della release 
10
Tools 
11
Tools 
Tutti i tools Apple sono gratuiti 
12
Tools Details 
13
Xcode 
14
Xcode 
• Visualizzazione su singola interfaccia 
• Tutto a portata di click 
• Personalizzabile 
• Xcode ricorda le vostre preferenze !!! 
15
Preferences 
16
Xcode 
Accounts Preferences 
• Informazioni profilo developer 
17
Xcode 
Font & Colors Preferences 
• Temi e colori 
18
Xcode 
Downloads Preferences 
• Simulatori e Documentazione 
19
Main Interface 
20
Xcode Interface 
21
Toolbar Area 
22
Xcode 
Toolbar Area 
• Visualizzazione Aree 
• Accesso simulatori 
• Activity indicator 
23
Editor Area 
24
Xcode 
Editor Area 
• Codice 
• Spostamento veloce su codice e files 
25
Xcode 
26 
Jump Bar
Navigator Area 
27
Xcode 
Navigation Area 
• Navigazione files 
• Visualizzazione aree 
28 
- Issues 
- Search 
- Breakpoints
Xcode 
29 
Issue Navigator 
• Errori e Warning
Xcode 
Search 
• Find, replace, pattern, Regex 
30
Xcode 
Breakpoints 
• Enable, Disable... 
31
Debug Area 
32
Xcode 
Debug Area 
• Output console 
• Introspezione variabili 
• Debug 
33
Xcode 
34
Xcode 
35
Xcode 
36
Utility Area 
37
Xcode 
Utility Area 
• Info su file 
• Oggetti grafici frameworks 
• Accesso rapido media progetto 
• Code Snippet Library 
38
Xcode 
File types Area 
• Creazione rapida file 
39
Xcode 
Code Snippet Library 
• Creazione rapida snippet codice 
40
Xcode 
Objects Area 
• Creazione rapida oggetti default iOS 
41
Xcode 
Media Area 
• Accesso file multimediali del progetto 
42
Storyboard 
43
Xcode 
Storyboard 
• Usato per costruire la UI (User 
Interface) 
• Customizzare oggetti 
• Dimensioni 
• Collegamenti tra Views 
44
Xcode 
45
Xcode 
46
Xcode 
47 
Scene 
• Composizione View 
• Gerarchia oggetti
Xcode 
48 
File inspector 
• Descrizione generale identità 
oggetto 
• Tipo, Localizzazione, 
versione
Xcode 
Help inspector 
• Link alla documentazione 
• Quick referenxe ad esempi 
49
Xcode 
50 
Identity inspector 
• Classe oggetto
Xcode 
Attributes inspector 
• Attributi dell’oggetto 
• Importantissimo!!! 
• Non sempre esaustivo e 
51 
collaborativo
Xcode 
Size inspector 
• Dimensione oggetto 
• Punto di ancoraggio 
52
Xcode 
Connection inspector 
• Link tra oggetto di UI e 
oggetto nel codice 
• Importantissimo!!! 
53
Run App 
54
Xcode 
Toolbar 
• Project, Device, Run & Stop 
55
Xcode 
56 
Scheme 
• Impostazioni di Run 
• Possibile crearne diversi: 
✓ Debug 
✓ Release 
✓ Production 
✓ Quality Assesment
Xcode 
57 
Scheme
Xcode 
58 
Scelta Device
Xcode 
59 
Running App
Xcode 
60 
Running App
iOS Simulator 
61
iOS Simulator 
iOS Simulator 
• Replica device fisico 
• Possibilità di gestire: 
✓ effetti grafici rallentati 
✓ posizione geografica custom 
✓ Gesture 
62
iOS Simulator 
iOS Simulator Settings 
• Account Social 
• Game Center 
• Proprio come un device fisico! 
63
iOS Simulator 
Configurazione Schema specifico 
• Posizione 
• Dati 
• Analisi performance 
• Configurazione prima del run dallo 
64 
Schema
iOS Simulator 
65 
Schema custom
iOS Simulator 
66
iOS Simulator 
67
iOS Simulator 
Ogni tanto non risponde! 
Effettuare reset :-/ 
68
Instruments 
69
Instruments 
Analysis 
• Analisi performance 
• Consumo CPU, RAM 
• Leaks 
• Riproduzione azioni utente (Automations) 
• Stress-test 
70
Instruments 
71
Instruments 
72
Instruments 
73
Tools 
Ulteriori approfondimenti 
Xcode 
iOS Simulator 
Instruments 
74
Domande ? 
75

More Related Content

Viewers also liked

iOS_Course_12
iOS_Course_12iOS_Course_12
iOS_Course_12
Dario Pizzuto
 
iOS_Course_11
iOS_Course_11iOS_Course_11
iOS_Course_11
Dario Pizzuto
 
iOS_Course_3
iOS_Course_3iOS_Course_3
iOS_Course_3
Dario Pizzuto
 
iOS_Course_16
iOS_Course_16iOS_Course_16
iOS_Course_16
Dario Pizzuto
 
Introduzione a UML
Introduzione a UMLIntroduzione a UML
Introduzione a UML
Riccardo Cardin
 
iOS_Course_1
iOS_Course_1iOS_Course_1
iOS_Course_1
Dario Pizzuto
 
iOS_course_7
iOS_course_7iOS_course_7
iOS_course_7
Dario Pizzuto
 
Derechos de las pcd
Derechos de las pcdDerechos de las pcd
Derechos de las pcd
Noe Toledo
 
AppleTV: insight e progettazione per l'Home Entertainment
AppleTV: insight e progettazione per l'Home EntertainmentAppleTV: insight e progettazione per l'Home Entertainment
AppleTV: insight e progettazione per l'Home Entertainment
Paolo Musolino
 
Google TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidGoogle TV: la nuova frontiera Android
Google TV: la nuova frontiera Android
Stefano Sanna
 
Application Store: opportunita' e trappole
Application Store: opportunita' e trappoleApplication Store: opportunita' e trappole
Application Store: opportunita' e trappole
Stefano Sanna
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
Stefano Sanna
 
Introduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconIntroduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeacon
Stefano Sanna
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
Domenico Gabriele
 
Animação 1 - Model Sheet
Animação 1 - Model SheetAnimação 1 - Model Sheet
Animação 1 - Model Sheet
profealbattaiola
 
IoT Experience. Dati. informazioni. conoscenza. saggezza.
IoT Experience. Dati. informazioni. conoscenza. saggezza.IoT Experience. Dati. informazioni. conoscenza. saggezza.
IoT Experience. Dati. informazioni. conoscenza. saggezza.
Fabio Lalli
 
La battaglia per l'attenzione
La battaglia per l'attenzione La battaglia per l'attenzione
La battaglia per l'attenzione
Fabio Lalli
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Codemotion
 
Industria 4.0 e IoT: Panorama, Leggende e Standard
Industria 4.0 e IoT: Panorama, Leggende e StandardIndustria 4.0 e IoT: Panorama, Leggende e Standard
Industria 4.0 e IoT: Panorama, Leggende e Standard
uninfoit
 
Introduzione a WatchKit
Introduzione a WatchKitIntroduzione a WatchKit
Introduzione a WatchKit
Federico Crisafulli
 

Viewers also liked (20)

iOS_Course_12
iOS_Course_12iOS_Course_12
iOS_Course_12
 
iOS_Course_11
iOS_Course_11iOS_Course_11
iOS_Course_11
 
iOS_Course_3
iOS_Course_3iOS_Course_3
iOS_Course_3
 
iOS_Course_16
iOS_Course_16iOS_Course_16
iOS_Course_16
 
Introduzione a UML
Introduzione a UMLIntroduzione a UML
Introduzione a UML
 
iOS_Course_1
iOS_Course_1iOS_Course_1
iOS_Course_1
 
iOS_course_7
iOS_course_7iOS_course_7
iOS_course_7
 
Derechos de las pcd
Derechos de las pcdDerechos de las pcd
Derechos de las pcd
 
AppleTV: insight e progettazione per l'Home Entertainment
AppleTV: insight e progettazione per l'Home EntertainmentAppleTV: insight e progettazione per l'Home Entertainment
AppleTV: insight e progettazione per l'Home Entertainment
 
Google TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidGoogle TV: la nuova frontiera Android
Google TV: la nuova frontiera Android
 
Application Store: opportunita' e trappole
Application Store: opportunita' e trappoleApplication Store: opportunita' e trappole
Application Store: opportunita' e trappole
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
 
Introduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconIntroduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeacon
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Animação 1 - Model Sheet
Animação 1 - Model SheetAnimação 1 - Model Sheet
Animação 1 - Model Sheet
 
IoT Experience. Dati. informazioni. conoscenza. saggezza.
IoT Experience. Dati. informazioni. conoscenza. saggezza.IoT Experience. Dati. informazioni. conoscenza. saggezza.
IoT Experience. Dati. informazioni. conoscenza. saggezza.
 
La battaglia per l'attenzione
La battaglia per l'attenzione La battaglia per l'attenzione
La battaglia per l'attenzione
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
 
Industria 4.0 e IoT: Panorama, Leggende e Standard
Industria 4.0 e IoT: Panorama, Leggende e StandardIndustria 4.0 e IoT: Panorama, Leggende e Standard
Industria 4.0 e IoT: Panorama, Leggende e Standard
 
Introduzione a WatchKit
Introduzione a WatchKitIntroduzione a WatchKit
Introduzione a WatchKit
 

Similar to iOS_Course_2

iOS_Course_4
iOS_Course_4iOS_Course_4
iOS_Course_4
Dario Pizzuto
 
iOS Programming
iOS ProgrammingiOS Programming
iOS Programming
Massimo Oliviero
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net Leonardo Alario
 
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Luca Zulian
 
Kivy Python Framework - di Gioele Gaggio
Kivy Python Framework - di Gioele GaggioKivy Python Framework - di Gioele Gaggio
Kivy Python Framework - di Gioele Gaggio
Giuneco S.r.l
 
Android base day1
Android base day1Android base day1
Android base day1
Andrea Zaza
 
VS Package @ CD2008
VS Package @ CD2008VS Package @ CD2008
VS Package @ CD2008
Mauro Servienti
 
Scrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e Alloy
Scrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e AlloyScrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e Alloy
Scrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e Alloy
Codemotion
 
Unity 3D a C# developer's POV
Unity 3D a C# developer's POVUnity 3D a C# developer's POV
Unity 3D a C# developer's POV
Leonardo Alario
 
Custom vision on edge device
Custom vision on edge deviceCustom vision on edge device
Custom vision on edge device
Alessio Biasiutti
 
IoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge deviceIoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge device
Alessio Biasiutti
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaDario Rusignuolo
 
Universal app ma universal per davvero
Universal app ma universal per davveroUniversal app ma universal per davvero
Universal app ma universal per davvero
Klab
 
Introduzione ad Android
Introduzione ad AndroidIntroduzione ad Android
Introduzione ad Android
Emanuel Di Nardo
 
iOS - Getting Started
iOS - Getting StartediOS - Getting Started
iOS - Getting Started
Massimo Oliviero
 
Whymca Dive into Android [ITA]
Whymca Dive into Android [ITA]Whymca Dive into Android [ITA]
Whymca Dive into Android [ITA]
Emanuele Di Saverio
 
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Giuseppe Cramarossa
 
Introduzione ai Coded UI Tests
Introduzione ai Coded UI TestsIntroduzione ai Coded UI Tests
Introduzione ai Coded UI Tests
Pietro Libro
 
Da DotNet a DotNetCore
Da DotNet a DotNetCoreDa DotNet a DotNetCore
Da DotNet a DotNetCore
Raffaele Rialdi
 

Similar to iOS_Course_2 (20)

iOS_Course_4
iOS_Course_4iOS_Course_4
iOS_Course_4
 
iOS Programming
iOS ProgrammingiOS Programming
iOS Programming
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
 
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
 
Kivy Python Framework - di Gioele Gaggio
Kivy Python Framework - di Gioele GaggioKivy Python Framework - di Gioele Gaggio
Kivy Python Framework - di Gioele Gaggio
 
Android base day1
Android base day1Android base day1
Android base day1
 
VS Package @ CD2008
VS Package @ CD2008VS Package @ CD2008
VS Package @ CD2008
 
Scrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e Alloy
Scrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e AlloyScrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e Alloy
Scrivere Mobile Apps con Javascript: Introduzione a Titanium Mobile e Alloy
 
Unity 3D a C# developer's POV
Unity 3D a C# developer's POVUnity 3D a C# developer's POV
Unity 3D a C# developer's POV
 
Custom vision on edge device
Custom vision on edge deviceCustom vision on edge device
Custom vision on edge device
 
IoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge deviceIoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge device
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - ita
 
Universal app ma universal per davvero
Universal app ma universal per davveroUniversal app ma universal per davvero
Universal app ma universal per davvero
 
Introduzione ad Android
Introduzione ad AndroidIntroduzione ad Android
Introduzione ad Android
 
iOS - Getting Started
iOS - Getting StartediOS - Getting Started
iOS - Getting Started
 
Whymca Dive into Android [ITA]
Whymca Dive into Android [ITA]Whymca Dive into Android [ITA]
Whymca Dive into Android [ITA]
 
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
Arduino + Azure: Dal circuito allo sketch e controllo remoto con una app web ...
 
Introduzione ai Coded UI Tests
Introduzione ai Coded UI TestsIntroduzione ai Coded UI Tests
Introduzione ai Coded UI Tests
 
Mobile e Smart Client
Mobile e Smart ClientMobile e Smart Client
Mobile e Smart Client
 
Da DotNet a DotNetCore
Da DotNet a DotNetCoreDa DotNet a DotNetCore
Da DotNet a DotNetCore
 

More from Dario Pizzuto

iOS_Course_15
iOS_Course_15iOS_Course_15
iOS_Course_15
Dario Pizzuto
 
iOS_Course_14
iOS_Course_14iOS_Course_14
iOS_Course_14
Dario Pizzuto
 
iOS_Course_13
iOS_Course_13iOS_Course_13
iOS_Course_13
Dario Pizzuto
 
iOS_Course_10
iOS_Course_10iOS_Course_10
iOS_Course_10
Dario Pizzuto
 
iOS_Course_9
iOS_Course_9iOS_Course_9
iOS_Course_9
Dario Pizzuto
 
iOS_Course_6
iOS_Course_6iOS_Course_6
iOS_Course_6
Dario Pizzuto
 
iOS_Course_5
iOS_Course_5iOS_Course_5
iOS_Course_5
Dario Pizzuto
 

More from Dario Pizzuto (7)

iOS_Course_15
iOS_Course_15iOS_Course_15
iOS_Course_15
 
iOS_Course_14
iOS_Course_14iOS_Course_14
iOS_Course_14
 
iOS_Course_13
iOS_Course_13iOS_Course_13
iOS_Course_13
 
iOS_Course_10
iOS_Course_10iOS_Course_10
iOS_Course_10
 
iOS_Course_9
iOS_Course_9iOS_Course_9
iOS_Course_9
 
iOS_Course_6
iOS_Course_6iOS_Course_6
iOS_Course_6
 
iOS_Course_5
iOS_Course_5iOS_Course_5
iOS_Course_5
 

iOS_Course_2