Top Banner
Curs de programació d’iOS Novembre de 2011 Organitza
83

Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

May 30, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Curs de programació d’iOS Novembre de 2011

Organitza

Page 2: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Albert Nadal Garriga | Mobile software engineer

http://lafruitera.com twitter.com/anadalg [email protected]

Page 3: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Sistema Operatiu iOS

- iPhone 4S - iPhone 4 - iPhone 3GS - iPhone 3G - iPhone

Terminals iPhone, iPod Touch, iPad

- iPad 2 - iPad

Page 4: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Repositori d’aplicacions App Store

Available apps 500.000+

Downloads 18.000.000.000+

Page 5: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Use cases of Apps

• Location-Based Services (LBS) • News and media content • Entertainment and games • Guides and reference • Navigation • eBooks • Augmented Reality (AR) • Healthcare • Social Networks

Page 6: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Location-Based Services (LBS)

Page 7: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

News and media content

Page 8: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Guides and reference

Page 9: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Interactive eBook

Page 10: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 11: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

App life cycle

Page 12: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

1 Introducció a l’Xcode i iOS

• Requisits i material necessari • iOS Developer Program • Certificat de desenvolupador • Certificat de distribució • Apple App Store • Xcode i Interface Builder • Estructura d’un projecte • Novetats de l’iOS5

Page 13: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

1.1 Requisits i material necessari

• Mac OS X • v10.7 (Lion) • v10.6 (Snow Leopard)

• Xcode

• v4.2 (iOS ≤ 5 SDK) • v3.2 (iOS ≤ 4.3 SDK)

• Interface Builder

• Integrat amb Xcode v4.0

Page 14: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

1.2 iOS Developer Program

• http://developer.apple.com/support/ios/ • Certificat de desenvolupador d’Apple

Page 15: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

1.3 Certificat de desenvolupador

• Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso a llaveros”. Signa digitalment el codi de les nostres Apps.

• App ID: Identificador de la nostra aplicació a l’App Store. • El bundle identifier de l’App ha de tenir aquest valor. • El bundle identifier està al fitxer nomApp-Info.plist

• Device ID (UDID): Identificador únic de cada dispositiu.

• Permet executar les nostres app al terminal en devel. • Permet distribuïr les nostres apps en mode Adhoc.

• Provisioning Profile: Permet executar les Apps al terminal.

• Relaciona App ID, Device ID.

Page 16: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 17: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

1.4 Certificat de distribució

• Permet pujar les nostres aplicacions a l’App Store. • Permet enviar les nostres Apps via Adhoc a tercers.

Page 18: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

1.5 Apple App Store

• Repositori d’aplicacions. • App Store Worldwide. • App Store per país. • Normes força estrictes

• Seguir les guies d’estils d’Apple • No continguts per a adults • Aplicacions estables • Logos de tercers ben visibles (google, etc…) • No estafes • No emprar API’s privades • No emprar icones/logos d’Apple • etc…

Page 19: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 20: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

1.6 Xcode i Interface Builder

• Xcode v4.2 • Interface Builder (integrat dins de l’Xcode 4)

Page 21: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 22: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 23: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 24: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 25: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 26: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 27: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 28: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 29: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 30: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 31: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 32: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Interface Builder fitxers .NIB i .XIB contenen la definició de la interfície gràfica

Page 33: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 34: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 35: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 36: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 37: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 38: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 39: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

1.7 Estructura d’un projecte

• Source code • Fitxers .h • Fitxers .m

• Resources/Bundle • Imatges • Video • Fitxer de base de dades (SQLite, XML, etc…) • etc…

• Configuració de l’app .plist • Interfície Gràfica .NIB i .XIB • Llibreries dinàmiques .dylib • Localització .strings

Page 40: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

2 Crear un projecte amb Xcode

Page 41: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 42: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 43: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 44: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 45: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 46: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 47: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 48: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 49: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 50: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 51: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso
Page 52: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Classe HolaMonAppDelegate.h

• Tot projecte te el corresponents fitxers… • NomAplicacioAppDelegate.h • NomAplicacioAppDelegate.m

• NomAplicacioAppDelegate és la classe principal de

l’aplicació i fa tasques de “director d’orquestra”. • És subclasse de UIApplication o UIResponder. • Implementa el protocol <UIApplicationDelegate>

• Actua com un listener de missatges de l’App: • Quan s’inicia l’aplicació. • Quan l’aplicació passa a segon plà (multitasca). • Quan l’aplicació passa a primer plà. • Quan l’aplicació es tanca. • Etc…

Page 53: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Classe HolaMonAppDelegate.h

#import <UIKit/UIKit.h> @class HolaMonViewController; @interface HolaMonAppDelegate : UIResponder <UIApplicationDelegate> { } @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) HolaMonViewController *viewController; @end

Page 54: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Classe HolaMonAppDelegate.m #import "HolaMonAppDelegate.h" #import "HolaMonViewController.h" @implementation HolaMonAppDelegate @synthesize window = _window; @synthesize viewController = _viewController; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { /* Invocat quan l’aplicació ha arrancat */ } - (void)applicationWillResignActive:(UIApplication *)application { /* Invocat quan l’aplicació passa a un estat inactiu (es rep una trucada o sms, o es prem el botó del dispositiu */ } - (void)applicationDidEnterBackground:(UIApplication *)application { /* Si l’aplicació suporta multitasca i passa a segon plà s’invoca aquest mètode */ } - (void)applicationWillEnterForeground:(UIApplication *)application { /* Invocat quan l’aplicació recupera el primer plà */ } - (void)applicationDidBecomeActive:(UIApplication *)application { /* */ } - (void)applicationWillTerminate:(UIApplication *)application { /* Invocat quan l’aplicació es tancarà */ } @end

Page 55: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 1 - UIAlertView

• Mostrar una alerta en una caixa flotant. • Tindrà dos botons: Sortir i Continuar. • Al prèmer el botó Sortir es tancarà l’App. • S’emprarà la classe UIAlertView

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Avís!” message:@“Escull una de les següents opcions.” delegate:self cancelButtonTitle:@“Sortir” otherButtonTitles:@”Continuar”, nil]; [alert show]; [alert release];

Page 56: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 1

#import "HolaMonAppDelegate.h" #import "HolaMonViewController.h" @implementation HolaMonAppDelegate @synthesize window = _window; @synthesize viewController = _viewController; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Avís!” message:@“Escull una de les següents opcions.” delegate:self cancelButtonTitle:@“Sortir” otherButtonTitles:@”Continuar”, nil]; [alert show]; [alert release]; self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [self.window makeKeyAndVisible]; return YES; } @end

Page 57: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 1

Page 58: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 1

• Implementarem les actions dels botons Sortir i Continuar. • Primerament declarem el protocol <UIAlertViewDelegate> http://developer.apple.com/library/ios/#documentation/uikit/reference/UIAlert

ViewDelegate_Protocol/UIAlertViewDelegate/UIAlertViewDelegate.html

• Només cal implementar els mètodes delegats que ens interessen. • En aquest cas el mètode delegat que ens interessa és...

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { /* Implementar-ho! */ }

Page 59: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 1 • Declarem el protocol <UIAlertViewDelegate> al fitxer de definició

d’interfície de la classe NomAplicacioAppDelegate (NomAplicacioAppDelegate.h)

* Podem declarar protocols en qualsevol altra classe.

#import <UIKit/UIKit.h> @class HolaMonViewController; @interface HolaMonAppDelegate : UIResponder <UIApplicationDelegate, UIAlertViewDelegate> { } @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) HolaMonViewController *viewController; @end

Page 60: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 1 • Ara cal implementar el protocol delegat al fitxer d’implementació

de la classe NomAplicacioAppDelegate (NomAplicacioAppDelegate.m)

#import "HolaMonAppDelegate.h" #import "HolaMonViewController.h" @implementation HolaMonAppDelegate @synthesize window = _window; @synthesize viewController = _viewController; [ . . . . ]

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {

switch (buttonIndex) { case 0: exit(0); break; case 1: /* Implementar acció del botó "Continuar" */ break; default: break; } }

Page 61: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

#import "HolaMonAppDelegate.h" #import "HolaMonViewController.h" @implementation HolaMonAppDelegate @synthesize window = _window; @synthesize viewController = _viewController; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Avís!” message:@“Escull una de les següents opcions.” delegate:self cancelButtonTitle:@“Sortir” otherButtonTitles:@”Continuar”, nil]; [alert show]; [alert release]; self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [self.window makeKeyAndVisible]; return YES; } - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { switch (buttonIndex) { case 0: exit(0); break; case 1: /* Implementar acció del botó "Continuar" */ break; default: break; } }

@end

Page 62: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2 – Model-View-Controller

• Definirem un UIViewController (MVC)

• Mostrar una pantalla amb un UITextField, UILabel i un UIButton

• Definirem els IBOutlets

• Definirem un IBAction per al UIButton

• Realitzarem els connectors entre UI i el codi

Page 63: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

• UIViewController (Model-View-Controller) • View: Objectes visibles per a l’usuari.

• UILabel • UIButton • UIImageView • UITextField • Etc...

• Model: Objectes per guardar dades • NSArray • NSDictionary • SQLite • Etc...

• Controller: Enllaça i controla la vista i el model.

Page 64: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2 • Creem una classe de tipus UIViewController principal anomenat

HolaMonViewController. S’encarregarà de controlar tots els elements que afegirem en una vista de l’App. • HolaMonViewController.h

#import <UIKit/UIKit.h> @interface HolaMonViewController : UIViewController @end

• HolaMonViewController.m

#import "HolaMonViewController.h“ @implementation HolaMonViewController [ . . . . ] @end

Page 65: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

• Creem una instància de HolaMonViewController i l’associarem a una interfície gràfica on hi afegirem les subvistes.

• HolaMonViewController.xib

• La instància la crearem i guardarem a la classe HolaMonAppDelegate i s’ha de fer quan arrenca l’aplicació. • HolaMonAppDelegate.m

- (BOOL)application: (UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.viewController = [[HolaMonViewController alloc] initWithNibName:@”HolaMonViewController” bundle:nil]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; }

Page 66: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2 • Afegim un UIButton, UILabel i UITextField a la interfície HolaMonViewController.xib • El File’s Owner ha de sér del tipus HolaMonViewController

Page 67: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

• Per poder accedir i utilitzar les tres subvistes que hem afegit a la interfície hem de definir-les com a atributs IBOutlet de la classe HolaMonViewController

• Per capturar l’event al prémer l’UIButton defirem un mètode IBAction • HolaMonViewController.h #import <UIKit/UIKit.h>

@interface HolaMonViewController : UIViewController { IBOutlet UILabel *etiqueta; IBOutlet UITextField *input; IBOutlet UIButton *boto; } - (IBAction)copiarText:(id)sender; @end

Page 68: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

• Apliquem els connectors entre la interfície i els IBOutlet

Page 69: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

• Apliquem els connectors entre la interfície i els IBAction

Page 70: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

• Implementem el mètode copiarText • Al prémer el UIButton copiarem el text de l’UITextField a l’UILabel

• HolaMonViewController.m

#import "HolaMonViewController.h“ @implementation HolaMonViewController - (IBAction)copiarText: (id)sender { [etiqueta setText:[input text]]; } [ . . . . ] @end

Page 71: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

Page 72: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

• Implementarem l’amagament del teclat al prémer la tecla de retorn • Declararem i implementarem el protocol <UITextFieldDelegate>

• HolaMonViewController.h

#import <UIKit/UIKit.h> @interface HolaMonViewController : UIViewController <UITextFieldDelegate> { IBOutlet UILabel *etiqueta; IBOutlet UITextField *input; IBOutlet UIButton *boto; } - (IBAction)copiarText:(id)sender; @end

Page 73: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html

• Implementem el protocol <UITextFieldDelegate> al delegate

• HolaMonViewController.m

#import "HolaMonViewController.h“ @implementation HolaMonViewController - (BOOL)textFieldShouldReturn: (UITextField *)textField { [textField resignFirstResponder]; [etiqueta setText:[input text]]; return TRUE; } [ . . . . ] @end

Page 74: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

• Ara cal assignar el delegate al UITextField des de l’Interface Builder • S’assignarà mitjançant un connector

Page 75: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Exemple 2

Page 76: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

3 Introducció a l’Objective-C • Les aplicacions per iOS es desenvolupen en

llenguatge Objective-C

• És una extensió simplificada del C • Programació orientada a objectes

• L’SDK es composa d’un conjunt de Frameworks

• Tot el conjunt s’anomena Cocoa

• En els dispositius tàctils s’empra Cocoa Touch

Page 77: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

• Hi ha més de 3000 mètodes i 200 classes disponibles.

• En cada nova actualització de l’iOS Apple

afegeix noves classes i mètodes.

• Cal emprar constantment els exemples i la documentació de referència d’Apple.

• http://developer.apple.com/library/ios/navigation/

Page 78: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Frameworks

• Un framework és un conjunt de classes relacionades entre si que realitzen tasques similars

• Només cal importar al nostre projecte els frameworks necessaris

• Per exemple, el framework UIKit s’empra en tots els projectes per iPhone/iPad ja que conté totes les classes relatives a la interfície d’usuari • UIButton, UILabel, UIImageView, UIView, UIScrollView,

UISegmentedControl, UISlider, UITextField, UISwitch,... • Etc...

Page 79: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Frameworks

Page 80: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Frameworks

Page 81: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Frameworks

Page 82: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

Frameworks

• Foundation: Tipus primitius de dades, etc...

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/ObjC_classic/_index.html

• UIKit: Classes de la UI http://developer.apple.com/library/ios/#documentation/uikit/reference/UIKit_Framework/_index.html

• CoreGraphics: Motor de renderitzat de la UI http://developer.apple.com/library/ios/#documentation/coregraphics/reference/coregraphics_framework/_index.html

Page 83: Curs de programació d · 1.3 Certificat de desenvolupador •Developer Certificate: Certificat digital que s’instal·la al keychain del Mac mitjançant l’aplicació “Acceso

•CoreLocation: GPS/Brúixola/Geolocalització

•MapKit: Integració de mapes

•SystemConfiguration •CFNetwork: Comunicació/Sockets

•AddressBook: Accés agenda de contactes

•MediaPlayer: Player de video/audio/streaming?

•CoreBluetooth: Ús bluetooth

•AudioToolbox: Manipulació d’audio

•iAd: Integració publicitat iAd d’Apple

•Etc...

Frameworks