iPhone Dev Keynote

download iPhone Dev Keynote

of 44

Transcript of iPhone Dev Keynote

  • 7/25/2019 iPhone Dev Keynote

    1/44

    Programacin en iOS

    Por: Carlos Saldana

  • 7/25/2019 iPhone Dev Keynote

    2/44

    Mdulo I

    Preparando del sistema.

    Xcode & iPhone Simulator.

    ObjectiveC.

    Cocoa !ouch.

    Inter"ace #uilder.

    M$C.

  • 7/25/2019 iPhone Dev Keynote

    3/44

    Preparando el Sistema

    #ienvenida a la plata"orma iOS

    Como convertirse en desarrollador iOS

    Creando el Provitioning Pro%le

    Panorama

  • 7/25/2019 iPhone Dev Keynote

    4/44

    Plata"orma iOS

    Inter"ace de usuario basada en el concepto de manipulacin directausando eventos mutitouch.

    iPhoneiPod!ouch: '() * +,)- iPad: )(+ * /0,.

    1i"erente intensidad de red 2i% & '3.

    4celerometro- giroscopio- c5mara- 3PS- etc.

    mp'- mp+- jpg- png- html- pd"- pages- doc ...

    iCloud- 6oti%cation Center- 6e7sstand- 48C- !7itter- Stor9boards- etc.

  • 7/25/2019 iPhone Dev Keynote

    5/44

    1esarrollador iOS4cceso

    8egistro

    Instalacion del S1

    http:developer.apple.comios

    http://developer.apple.com/ioshttp://developer.apple.com/ios
  • 7/25/2019 iPhone Dev Keynote

    6/44

    Provitioning Pro%le

    ;

    3eneracin e instalacin

    IPhone ?I1

  • 7/25/2019 iPhone Dev Keynote

    7/44

    Panorama

    ObjectiveC

    Cocoa !ouch

    M$C

  • 7/25/2019 iPhone Dev Keynote

    8/44

    ObjectiveC

    OOP & ObjC

    @structura de ObjC

    Programacin b5sica

    Manejo de memoria

  • 7/25/2019 iPhone Dev Keynote

    9/44

    1i"erencias de otros lenguajes basados en C

    Mensajes

    Inter"aces e

    implementaciones

    !ipiado din5mico

    Instanciacin

    8eenvAo de mensajes

    CategorAas

    Bobjeto doSomethingD

    Einter"ace

    FvoidGmetodoD

    Eend

    Eimplementation

    FvoidGmetodo H

    Eendid iMainvc J BBMain$C alloc init2..D

    id address J EKcalle san juanKD

    B6P1o7nloader do7nloadD

    ?naClase Linstancia J BB?naClase alloc initD

    Binstancia inicia!areaD

  • 7/25/2019 iPhone Dev Keynote

    10/44

    Clase 4rchivo de Inter"a

    #import

    #import ClaseCustom.h"

    @interface NPDownloader N!$ect

    % &instancet'pe(init)ith*+,!tr&N!!trin- (new*rl!tr

    0 &id(newDownloader)ith*rl!tr&N!!trin- (new!tr

    % &1oid(set*rl&N!*+, (new*rl

    % &N!*+, (url

    @propert' &readonl'( N!*+, url

    @propert' &nonatomic2 stron-( N!Dictionar' user3nfo

    @propert' &nonatomic2 wea4( doule timeout

    0 &1oid(download

    % &5,(isDownloadin-

    % &1oid(set6imeut&doule(a6imeut for*ser&N!Dictionar' (user3nfo

    @end

  • 7/25/2019 iPhone Dev Keynote

    11/44

    Clase4rchivo de implementacin I

    #import NPDownloader.h7

    @interface NPDownloader &(

    @propert' &readonl'( N!*+, url

    @propert' &nonatomic2 stron-( N!8rra' un8rra'

    -&1oid(has8l-oNue1o&N!!trin- (ar-umento

    @end

    @implementation NPDownloader

    % &id(init)ith*+,!tr&N!!trin- (new*rl!tr 9

    self : ;super initif &self( 9

    url : ;N!*+, url)ith!trin-new*rl!tr

    =

    return self

    =

  • 7/25/2019 iPhone Dev Keynote

    12/44

    Clase4rchivo de implementacin II

    % &1oid(download 9...

    =% &5,(isDownloadin- 9

    return isDownloadin-=% &1oid(set6imeut&doule(a6imeut

    for*ser&N!Dictionar' (the*ser3nfo 9

    timeout : a6imeutuser3nfo : ;;N!Dictionar' alloc

    init)ithDictionar'the*ser3nfo

    ...=

    %&1oid(dealloc 9

    =

    @end

  • 7/25/2019 iPhone Dev Keynote

    13/44

    Cocoa !ouch

    3rupo de Nrame7orsFibreriasG

    NoundationNrame7or

  • 7/25/2019 iPhone Dev Keynote

    14/44

    Cocoa !ouch

    ?IitNrame7or

  • 7/25/2019 iPhone Dev Keynote

    15/44

    Cocoa !ouch

    OtrosNrame7ors ...

  • 7/25/2019 iPhone Dev Keynote

    16/44

    M$C

    @ntendiendo el paradigma Model $ie7Controller

    M$C dentro de XCode & I#

    Plantilla $ie7#ased

  • 7/25/2019 iPhone Dev Keynote

    17/44

    XCode & Simulator

    ?sando XCode

    ?sando el iPhone Simulator

    Otras herramientas

  • 7/25/2019 iPhone Dev Keynote

    18/44

    1emo XCode

    Creacin 9 administracin de

    pro9ectos

    $entanas

    4gregando 9 removiendoarchivos 9 recursos

    6avegando 9 editando cdigo

    4utocompletado de cndigo

    Snapshots

    Pragma mars

    Con%guracin del building

    @rros 9 2arnings

    Propiedades del pro9ecto

  • 7/25/2019 iPhone Dev Keynote

    19/44

    1emo IPhoneSimulator

    4rrancando aplicacionesen el simulador

    @ventos multitouch

    8otando el simulador

    Otras condiciones

  • 7/25/2019 iPhone Dev Keynote

    20/44

    Inter"ace #uilder@ntendiendo I#

  • 7/25/2019 iPhone Dev Keynote

    21/44

    1emo Inter"ace #uilder

    @ntendiendo I#

    Creando Inter"aces de usuario

    Personaliacin de controles

    Conectar con el cdigo

  • 7/25/2019 iPhone Dev Keynote

    22/44

    Ciclo de vida de la aplicacin

  • 7/25/2019 iPhone Dev Keynote

    23/44

    Mdulo II!e*to- teclados 9 botones.

    Imagenes- 4nimaciones 9 Slides.

    Objetos 9 $ie7s para inter"aces avanadas.

    a atencin del usuario.

    Picers para opciones.

    !ool#ars & !ab#ars.

    !able$ie7s.

    Manejo de datos.

    8otacin 9 redimensin de inter"aces.

    !ouch and 3estures

  • 7/25/2019 iPhone Dev Keynote

    24/44

    !e*to- teclados 9 botones

    1atos de entrada 9 salida

    !e*tNields- !e*t$ie7s & #uttons

  • 7/25/2019 iPhone Dev Keynote

    25/44

    !e*to- teclados 9 botones

    1emo

  • 7/25/2019 iPhone Dev Keynote

    26/44

    Im5genes- animaciones 9

    sliders4nimacin de im5genes 9 sliders

  • 7/25/2019 iPhone Dev Keynote

    27/44

    Im5genes- animaciones 9

    sliders1emo

  • 7/25/2019 iPhone Dev Keynote

    28/44

    Inter"aces avanadas

    1atos de entrada 9 salida

    S7itches- SegmentedControls &2eb$ie7s

    Scrolling vie7s

  • 7/25/2019 iPhone Dev Keynote

    29/44

    4tencin del usuario

    Metodos de alerta3enerando alertas

    4ctionSheets

    Sonido 9 vibracin como alerta

  • 7/25/2019 iPhone Dev Keynote

    30/44

    Picers para opciones

    @ntendiendo picers

    1atePicers

    Picer$ie7 personaliado

  • 7/25/2019 iPhone Dev Keynote

    31/44

    !ool#ars &

    !ab#arController

    ?sando vie7 simple vs multiples vie7s

    @jemplo !oolbar

    @jemplo !ab#arController

  • 7/25/2019 iPhone Dev Keynote

    32/44

    !able$ie7s

    @ntendiendo !able$ie7s 96avigatorControllers

    4plicaicn sencilla con !able$ie7

    4plicacin basada en navegacin

  • 7/25/2019 iPhone Dev Keynote

    33/44

    Manejo de datos

    Consideraciones de diseQo

    ?ser 1e"aults

    Propert9 ists

    Sistema de archivos

    4rchive Objects

    Core 1ata & S

  • 7/25/2019 iPhone Dev Keynote

    34/44

    8otacin 9 redimensin de inter"aces

    Inter"aces capaces de rotar 9 redimensionar por simismas con I#

    8eenmarcando controles cuando ocurre una rotacin

    Intercambiando vie7s durante una rotacin

  • 7/25/2019 iPhone Dev Keynote

    35/44

    !ouches & 3estures

    8econocimientomultitacto 9 gestos

    ?sandoreconocedores de

    gestos

  • 7/25/2019 iPhone Dev Keynote

    36/44

    1ia '

    Orientacin 9 movimiento.

    !rabajando con multimedia.

    Interaccin con otras apps.

    ocaliacin.

    #acground a7are apps.

    4plicaciones universales.

    1ebugging 9 optimiacin.

    1istribucin en el 4pp Store.

  • 7/25/2019 iPhone Dev Keynote

    37/44

    Orientacin 9 movimiento

    @ntendiendo el hard7are de moviemiento

    1atos de orientacin 9 movimiento

    8econocimiento de orientacin

    1etectando rotacin e inclinacin

  • 7/25/2019 iPhone Dev Keynote

    38/44

    @*plorando los medios

    Preparando la aplicacin parael uso de medios

    ?sando el Movie Pla9er

    3rabando 9 reproduciendo

    audioCamara 9 librerAa de "otos

    ibrerAa del iPod

    !rabajando conmultimedia

  • 7/25/2019 iPhone Dev Keynote

    39/44

    Interaccin con otras

    apps@*tendiendo la integracin de laaplicacin

    4ddress#oo- Mail & Maps

  • 7/25/2019 iPhone Dev Keynote

    40/44

    ocaliacin

    @ntendiendoCoreocation

    Creando una aplicacin

    consciente de sulocaliacin

    @ntendiendo el compasmagnetico

  • 7/25/2019 iPhone Dev Keynote

    41/44

    4pps conscientes en segundo plano

    @ntendiendo elsegundo plano eniOS

    Manejando lasuspensin ensegundo plano

    6oti%caciones

    locales

    !areas especA%casen segundo plano

  • 7/25/2019 iPhone Dev Keynote

    42/44

    4plicaciones universales

    1esarrollo de apps universales

    @ntendiendo la plantilla para apps universales 7indo7based

    Otras herramientas para apps universales

  • 7/25/2019 iPhone Dev Keynote

    43/44

    1bugging 9 optimiacin

    1ebugging en XCode

    ?sando Instruments

  • 7/25/2019 iPhone Dev Keynote

    44/44

    1istribucin en el

    4ppStorePreparando la aplicacin para el 4ppStore@ntregando la app para aprovacin

    Promoviendo la aplicacin