SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
iPhone Development



onsdag den 7. september 2011
Agenda
                               • Requirements
                               • The Objective C Programming Language
                               • Cocoa Touch & Basic Design Patterns
                               • Apple Developer Tools
                               • Apple Developer Portal
                               • Resources


onsdag den 7. september 2011
Who am I?



onsdag den 7. september 2011
Hvem er jeg?
                               • Freelance udvikler i Barkode ApS & Bigger
                                • Objective C, Java, Python
                               • Udvikler af “Risteriet”, “MitNykredit”
                                iPhone applikationerne
                                •   Arbejder p.t. på en ny universal app for
                                    Infopaq International A/S
                               • Mac fanboy!
onsdag den 7. september 2011
Hvorfor iOS Platformen?
                               • Nysgerrig efter en ny platform.
                                 • en ny platform
                                 • en ny type device
                               • Andre problemstillinger end Enterprise Java
                               • Et “nyt” programmeringssprog og et nyt framework.
                               • Mac fanboy!


onsdag den 7. september 2011
onsdag den 7. september 2011
Risteriet
                               •   Primært tænkt som reklame for et
                                   mindre kafferisteri i det indre København.

                               •   Benyttede frameworks:

                                   •   Core Location

                                   •   MapKit

                                   •   MediaKit

                                   •   JSON (eksternt framework)

                                   •   Core Animation




onsdag den 7. september 2011
onsdag den 7. september 2011
Mit Nykredit
                               •   Nykredits Mobile Bank

                               •   Ekstremt hurtigt udviklet

                               •   Udvalgte benyttede frameworks:

                                   •   Core Location / MapKit

                                   •   MediaKit

                                   •   Core Animation og en del custom UIView’s

                                       •   Valuta beregner

                                       •   Pinkode husker

                                       •   Diverse tabeller

                                       •   ...

                                   •   Webservices




onsdag den 7. september 2011
Mit Nykredit
                               •   Nykredits Mobile Bank

                               •   Ekstremt hurtigt udviklet

                               •   Udvalgte benyttede frameworks:

                                   •   Core Location / MapKit

                                   •   MediaKit

                                   •   Core Animation og en del custom UIView’s

                                       •   Valuta beregner

                                       •   Pinkode husker

                                       •   Diverse tabeller

                                       •   ...

                                   •   Webservices




onsdag den 7. september 2011
Requirements



onsdag den 7. september 2011
Get a Mac!

                               • En Mac computer og helst et iOS device
                               • Medlem af Apples iOS Developer Program - $99
                               • Installering af SDK og Developer Tools
                               • “Live by the rules defined by the mothership”




onsdag den 7. september 2011
The Objective C
                               Programming Language



onsdag den 7. september 2011
Objective C
                               •   Superset til C og derfor kan man benytte C og C++

                               •   Objekt orienteret (1986) og baseret på message
                                   passing ala Smalltalk.

                               •   Udvidet i 2006 med properties, garbage collection og
                                   fast enumeration etc.

                               •   Memory Management

                                     •   OSX - Garbage Collection.

                                     •   iOS - explicit memory management
                                         (reference counting) (iOS 3/4).

                                     •   “Automatic Reference Counting” (iOS 5)




onsdag den 7. september 2011
Objective C Syntax 1/3
                          @interface classname : superclassname
                          {
                              // instance variables
                          }

                          @property (nonatomic, retain) inst_type inst_name;

                          + classMethod1;
                          + (return_type)classMethod2;
                          + (return_type)classMethod3:(param1_type)param1_varName;

                          - (return_type)instanceMethod1:(param1_type)param1_varName andOtherParameter:
                          (param2_type)param2_varName;

                          - (return_type)instanceMethod2WithParameter:(param1_type)param1_varName
                          andOtherParameter:(param2_type)param2_varName;

                          @end




onsdag den 7. september 2011
Objective C Syntax 2/3
                          @implementation classname

                          @synthesize type_name;

                          + (return_type)classMethod
                          {
                               // implementation
                          }
                          - (return_type)instanceMethod2WithParameter:(param1_type)
                          param1_varName andOtherParameter:(param2_type)param2_varName
                          {
                               // implementation
                          }
                          @end



onsdag den 7. september 2011
Objective C Syntax 3/3
                          @implementation ClientsMapViewController


                          @synthesize titleBar, mapView;


                          #pragma mark -
                          #pragma mark Lifecycle


                          // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
                          - (void)viewDidLoad {
                              [super viewDidLoad];
                          !
                          ! UIImageView *background = [[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)] autorelease];
                          ! background.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
                          ! background.image = [UIImage imageNamed:@"dark_wood_tile"];
                          ! [self.titleBar addSubview:background];
                          ! // Sending the image to the back ensures that the text isn't shadowed by the image
                          ! [self.titleBar sendSubviewToBack:background];

                          ! UIFont *font = [UIFont fontWithName:@"Lobster 1.4" size:17];
                          ! UILabel *header = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
                          ! header.text = @"Clients in the center of Copenhagen";
                          ! header.font = font;
                          ! header.textAlignment = UITextAlignmentCenter;
                          ! header.textColor = [UIColor whiteColor];
                          ! header.backgroundColor = [UIColor clearColor];
                          ! self.titleBar.topItem.titleView = header;
                          !
                          ...

                          }
                          ...




onsdag den 7. september 2011
Cocoa Touch
                                         &
                               Basic Design Patterns



onsdag den 7. september 2011
Cocoa Touch
                                      Selected Frameworks
                               • Core Audio       • Open GL ES      • Map Kit
                               • Open AL          • Quartz 2D       • Store Kit
                               • Media Library    • Bonjour         • Event Kit
                               • AV Foundation    • Webkit          • Game Kit
                               • Core Data        • BSD Sockets     • Core Image
                               • SQLite           • Address Book    • UI Kit
                               • Core Animation   • Core Location
onsdag den 7. september 2011
Model-View-Controller
                                                    Controller   Coordination

                                           Update                               Changes
                                                          Controller



                                                       Changes     Update

                                   Model                                               View

                               Model   Data                                     View      Display




onsdag den 7. september 2011
Delegate Pattern
                               • Formål: En delegate er et objekt, der får muligheden for
                                 at reagere på ændringer i eller påvirke adfærden hos et
                                 andet objekt.
                               • I Cocoa og Cocoa Touch benyttes følgende navne
                                 konvention for delegate metoder:
                                •   should

                                •   will

                                •   did



onsdag den 7. september 2011
Apple Developer Tools



onsdag den 7. september 2011
Xcode 4
                               • Source code editor
                               • Compiler (LLVM & GCC)
                               • Debugger (LLDB & GDB)
                               • Static Analysis
                               • SCM (Git, Subversion)
                               • DocViewer (Dokumentation)

onsdag den 7. september 2011
Xcode 4
                               •   Plus


                                   •   Static Analysis
                                       (http://clang-analyzer.llvm.org/)


                                   •   Markant lettere at uploade til iTunes Connect
                                       og tilføje devices end tidligere


                                   •   Git integration


                               •   Minus


                                   •   Desværre stadigvæk lidt buggy


                                   •   Refactoring?




onsdag den 7. september 2011
Interface Builder

                               • GUI Builder til hhv. iOS og OSX
                                 programmer.

                               • Interface designet gemmes i XIB
                                 filer og kompileres til NIB - realt
                                 en serialisering af objekter.

                               • Utroligt simpelt men stærkt.


onsdag den 7. september 2011
iOS Simulator

                               • Til hurtig afvikling af dine
                                 programmer - men ikke devicet
                                 da simulator og device ikke er
                                 100% ens.

                               • Understøtter flere typer af SDKs
                                 samt Retina display og iPad.




onsdag den 7. september 2011
Instruments

                               • Instruments er din ven!
                               • Bruges til at finde memory leaks,
                                 og over releases (NSZombie)

                               • Bruges også til at optimere
                                 performance, finde flaskehalse
                                 eller afvikling af automation
                                 scripts.




onsdag den 7. september 2011
Demo



onsdag den 7. september 2011
Apple Developer Portal



onsdag den 7. september 2011
Provisioning Portal
                               • Configure Profile
                                • Certificates
                                  • Signering af App før den kan afvikles på et device
                                • Devices
                                  • 100 devices
                                • AppID
                                  • Bruges bla. til In App Purchases, Push Notification, Hardware
                                     Accessory, Game Center & iCloud



onsdag den 7. september 2011
Provisioning Portal
                               • Download & Install
                                 • Development Provisioning Profile indeholder:
                                   • Development Certificates
                                   • Unique Device Identifiers
                                   • App ID.
                               • Build & Go
                                 • Ad hoc distribution - beta builds
                                 • AppStore distribution - production builds

onsdag den 7. september 2011
iTunes Connect

                               •   Produktet oprettes i AppStore via iTunes Connect
                                   • Beskrivelse af produktet samt keywords
                                   • Kategori
                                   • Screen Shots
                                   • Tilgængelighed (lande)



onsdag den 7. september 2011
iTunes Connect

                               • Customer Reviews
                               • Crash reports
                               • Financial reports
                               • Sales/Trends
                               • Manage Users



onsdag den 7. september 2011
One more thing...



onsdag den 7. september 2011
The new kid on the block
                               • AppCode fra Jetbrains
                               • Bygger på Jetbrains IntelliJ framework
                               • Refactoring kendt fra Jetbrains andre
                                 produkter så som IntelliJ, PyCharm,
                                 RubyMine etc.

                               • Integration med andre (D)VCS
                               • Plugin ecosystem
                               • Kræver at Xcode og SDK allerede er
                                 installeret



onsdag den 7. september 2011
Resources



onsdag den 7. september 2011
Online
                               • Google Group - cocoa-unbound
                                 http://groups.google.com/group/cocoa-
                                                                         • CocoaDev - wiki
                                                                           http://cocoadev.com/
                                 unbound/

                                                                         • Cocoa Dev Central
                               • Cocoa With Love - blog
                                 http://cocoawithlove.com/
                                                                           http://cocoadevcentral.com/


                                                                         • Der findes en del fine
                               • Cocoa is my girlfriend -blog
                                 http://www.cimgf.com/
                                                                           frameworks på Github
                                                                           http://github.com

                               • Apple Developer Connection
                                 Forum




onsdag den 7. september 2011
Offline
                CYAN                         YELLOW               SPOT MATTE                                                                                                    CYAN            YELLOW               SPOT MATTE
                MAGENTA                      BLACK                                                                                                                              MAGENTA         BLACK
                                             PANTONE 123 C                                                                                                                                      PANTONE 123 C




                                                                                                                                                                                                                                                                                                                                                                              By
                                                                                                                                                                                                                                                                                                 Companion




                                                                                                                                                                                                                                                                                                                                                                                 iP
                                                BOOKS FOR PROFESSIONALS BY PROFESSIONALS®                                                                                                            BOOKS FOR PROFESSIONALS BY PROFESSIONALS®




                                                                                                                                                                                                                                                                                                                                                                                 th
                                                                                                                                        Companion




                                                                                                                                                                                                                                                                                                                                                                                   e
                                                                                                                                                                                                                                                                                                 eBook




                                                                                                                                                                                                                                                                                                                                                                                     ho

                                                                                                                                                                                                                                                                                                                                                                                     be
                                                                                                                                        eBook




                                                                                                                                                                                                                                                                                                                                                                                       st
                                                                                                                                                                                                                                                                                                                                                                                        Be De
                                                                                                                                                                                                                                                                                                                                                                                         -s
                                                                                                                                                                                                                                                                                                                                                                                          ne

                                                                                                                                                                                                                                                                                                                                                                                           el
                                                                                                                                                                                                                                                                                                 Available




                                                                                                                                                                                                                                                                                                                                                                                             gi ve
                                                                                                                                                                                                                                                                                                                                                                                             lin
                                                                                                                                        Available




                                                                                                                                                                                                                                                                                                                                                                                                g
                                                                                                                                                                                                                                                                                                                                                                                                 nn lo
                                                                                                                                                                                                                                                                                                                                                                                                  au
                                                                                                                                                                                                                                                                                                                                                                                                    th
                                                                                                                                                                                                                           Turn Java Expertise into Mac OS X




                                                                                                                                                                                                                                                                                                                                                                                                      or
                                                                                                                                                                                                                                                                                                                                                                                                       in pm
                                                                                                                                                                                                                                                                                                                                             More Great iPhone API
                                                                                                                                                                                               I




                                                                                                                                                                                                                                                                                                                                                                                                        so
                                                                                                                                                             RELATED TITLES




                                                                                                                                                                                                                                                                                                                                                                                                         g e
                                                                                                                                                                                                                                                                                                                                                                                                            f
                            • Learn Objective-C, the language of native Mac and iPhone apps, by leveraging                                                                                      nterested in iPhone development? Want to learn more? Whether you’re a




                                                                                                                                                                                                                                                                                               More iPhone 3 Development
                                         the Java programming skills you already have.
                                                                                                                                        Learn Objective-C for Java Developers                                                and iPhone App Productivity
                                                                                                                                                                                                self taught iPhone dev or have just made your way through the pages of
                                                                                                                                                                                                                                                                                                                                          Coverage, Depth, and Insight




                                                                                                                                                                                                                                                                                                                                                                                                             nt
                                                                                                                                                                                               Beginning iPhone 3 Development, we’ve got a great new book for you.
                            • Learn to use Apple’s development environment, including just enough Cocoa                                                                                        More iPhone 3 Development: Tackling iPhone SDK 3 digs deep into Apple’s latest
                                         and Xcode. It’s the professional’s express route to Mac and iPhone developer
                                                                                                                                                                                               SDK, with bestselling authors Dave Mark and Je LaMarche explaining things
                                         pro ciency.
                                                                                                                                                                                               as only they can, covering topics like Core Data, peer-to-peer networking us-
                            • Learn by working through the exercises and then keep returning for reference                                                                                     ing GameKit and network streams, working with data from the web, MapKit,
                                         and further study. You’ll nd everything conveniently organized so you can                                                                             in-application e-mail, and more. All the concepts and APIs are clearly laid out
                                         reference techniques by design pattern.                                                                                                               and come complete with code snippets you can customize for use in your
                                                                                                                                                                                               most ambitious apps.

                          W      e all love Java, but Mac OS X is looking awfully cool these days and iPhone OS de-
                                 velopment is the most exciting new environment since, well…, since Java! If only
                          there were a way to avoid learning objective-C. If you’re a Javahead, you probably know a lot
                                                                                                                                                                                               More iPhone 3 Development continues right where Beginning iPhone 3 Develop-
                                                                                                                                                                                               ment left o , starting with a series of chapters devoted to Core Data, Apple’s
                                                                                                                                                                                               new standard for iPhone Persistence. Je and Dave step you through the key
                          more about objective-C than you think. The two languages are full of similarities and that’s
                                                                                                                                                                                               concepts of Core Data, including techniques and tips speci cally for writing
                          why we’ve published Learn Objective-C for Java Developers, your shortcut to Mac and iphone
                                                                                                                                                                                               Large-Scale Applications. For writing professional iPhone apps, you’ll want
                          development productivity.
                                                                                                                                                                                               to embrace Core Data,.
                          Both languages are object-oriented, use similar inheritance models, string classes, garbage
                                                                                                                                                                                               The depth and breadth of Core Data coverage alone is worth the price of ad-
                          collection, serialization, threads, introspection, and communications. They also embrace
                                                                                                                                                                                               mission, but there’s so much more. This book covers a variety of networking
                          proven design patterns like Model-View-Controller and property accessors. You’re already a
                                                                                                                                                                                               mechanisms, from GameKit’s relatively simple BlueTooth peer-to-peer model,
                          good portion of the way there and you haven’t even opened this book!
                                                                                                                                                                                               to the addition of Bonjour discovery and network streams, through the com-
                          We’ll show you how to use what you know about Java to understand and become quickly                                                                                  plexity of acquiring information through Web File Access. Dave and Je also
                          pro cient in Objective-C. Most important, we’ll show you how to take advantage of features                                                                           take you through advanced topics, such as Concurrent Programming and
                          unique to Objective-C and incorporate them into your designs. Don’t waste your hard-earned                                                                           techniques for Debugging.




                                                                                                                                                                                                     Learn Objective-C
                          Java knowledge by starting over in kindergarten. Move yourself to the head of the class and
                                                                                                                                                                                               Your knowledge of iPhone app creation can’t be considered complete until




                                                                                                                                                                                                                                                                                                                                   More
                          catapult over the Objective-C learning curve. You’ll be writing Mac OS X and iPhone apps
                                                                                                                                                                                               you’ve mastered all the knowledge imparted and techniques revealed in More
                          faster than you ever imagined possible.
                                                                                                                                                                                               iPhone 3 Development.
                          James Bucanek has over 25 years of experience in software and systems development.
                                                                                                                                                                                               Dave Mark is a long-time Mac developer and author and has written a num-
                          Having made the transition to Mac OS X many years ago, he has never looked back.
                                                                                                                                                                                               ber of books on Macintosh development, including Learn C on the Macintosh,
                                                                                                                                                                                               The Macintosh Programming Primer series, and Ultimate Mac Programming. His


                                                                                                                                                                                                            for
                                                                                                                                                                                                                                                                                                                           iPhone 3 Development
                                                                                                                                                                                               blog can be found at www.davemark.com.




                                                                                                                                                                                                      Java Developers
                                                                                                                                                                                                Je LaMarche is a longtime Mac developer, and Apple iPhone
                                                                                                                                                                                                Developer. With over 20 years of programming experience, he’s written
                            RELATED TITLES




                                                                                                                                                                                                on Cocoa and Objective-C for MacTech Magazine, as well as articles
                                                                                                                                                                                                for Apple’s Developer Technical Services website. He has experience



                                                                                                                                                                                                                                                                                                                                  Tackling iPhone SDK 3
                                                                                                                                                                                                working in Enterprise software, both as a developer for PeopleSoft
                                                                                                                                                                                                starting in the late 1990s, and then later as an independent consultant.




                                                                                                                                        Bucanek                                                                                                                                                                                         Dave Mark | Jeff LaMarche



                                                                                                                                                                                                                                                                                                    Mark
                COMPANION eBOOK                              SEE LAST PAGE FOR DETAILS ON $10 eBOOK VERSION
                                                                                                               ISBN 978-1-4302-2369-6                                           COMPANION eBOOK                                         James Bucanek ISBN
                                                                                                                                                                                                                SEE LAST PAGE FOR DETAILS ON $10 eBOOK VERSION             978-1-4302-2505-8
                                                                                                                             5 39 9 9                                                                                                                                               5 39 9 9
                                                                                                US $39.99                                                                                                                                          US $39.99

                                                                                                Shelve in                                                                                                                                      Shelve in:
                                                                                        Mac Development                                                                                                                Mobile Computing/Mac Development
                SOURCE CODE ONLINE                                                             User level:                                                                      SOURCE CODE ONLINE                                                User level:
                www.apress.com                                                    Intermediate–Advanced
                                                                                                              9 781430223696                                                    www.apress.com                                       Intermediate–Advanced       9 7814 225058
                                                                                                                                                                                                                                                                       30




                                               this print for content only—size & color not accurate                                                                                                 this print for content only—size & color not accurate
                                                                                                                                                                                                        Trim: 7.5 x 9.25 spine =0.96875" 520 page count                                                                      Trim: 7.5 x 9.25 spine = 0.000" 000 page count




onsdag den 7. september 2011
NSCoder Night
                               • NSCoder Night Copenhagen
                                 • Onsdag kl. 19-22
                                 • RETRO Nørrebro
                                  Jægersborggade 14
                                  2200 København N

                                • Twitter
                                  @copenhagencocoa




onsdag den 7. september 2011
Efficiency

onsdag den 7. september 2011
Simplified

onsdag den 7. september 2011
BARKODE

onsdag den 7. september 2011

Weitere ähnliche Inhalte

Andere mochten auch

Anexo visual 2º cuatrimestre mariana vazquez
Anexo visual 2º cuatrimestre  mariana vazquezAnexo visual 2º cuatrimestre  mariana vazquez
Anexo visual 2º cuatrimestre mariana vazquezgeo39 geo39
 
Native Ads: Ad Content in Context
Native Ads: Ad Content in ContextNative Ads: Ad Content in Context
Native Ads: Ad Content in ContextMichael Wörmann
 
Mountain Stream Group: Portfolio Sample - Media Kit
Mountain Stream Group: Portfolio Sample - Media KitMountain Stream Group: Portfolio Sample - Media Kit
Mountain Stream Group: Portfolio Sample - Media KitMountain Stream Group, Inc.
 
Ocean habitat
Ocean habitatOcean habitat
Ocean habitatgrade3c
 
Salesforce CRM para corredores, mediadores y comparadores de seguros
Salesforce CRM para corredores, mediadores y comparadores de segurosSalesforce CRM para corredores, mediadores y comparadores de seguros
Salesforce CRM para corredores, mediadores y comparadores de segurosGrupo Lanka
 
Key Note Session IDUG DB2 Seminar, 16th April London - Julian Stuhler .Trito...
Key Note Session  IDUG DB2 Seminar, 16th April London - Julian Stuhler .Trito...Key Note Session  IDUG DB2 Seminar, 16th April London - Julian Stuhler .Trito...
Key Note Session IDUG DB2 Seminar, 16th April London - Julian Stuhler .Trito...Surekha Parekh
 
Plantilla cuestionario sobre textos instructivos
Plantilla cuestionario sobre textos instructivosPlantilla cuestionario sobre textos instructivos
Plantilla cuestionario sobre textos instructivosCEDEC
 
Solve It Labs Offshore Project Management
Solve It Labs Offshore Project ManagementSolve It Labs Offshore Project Management
Solve It Labs Offshore Project ManagementRafael Sultanov
 
Memoria descriptiva pillco marca
Memoria descriptiva pillco marcaMemoria descriptiva pillco marca
Memoria descriptiva pillco marcaalienes004
 
The Audience Is in Charge. Why Every Business Model Should Put the Audience F...
The Audience Is in Charge. Why Every Business Model Should Put the Audience F...The Audience Is in Charge. Why Every Business Model Should Put the Audience F...
The Audience Is in Charge. Why Every Business Model Should Put the Audience F...Jennifer Mirsky
 
Gerencia en el aula2
Gerencia en el aula2Gerencia en el aula2
Gerencia en el aula2Mayré Rojas
 
Resolucion n° 214 2008-sunarp-tr-a - transferencia de participaciones sociales
Resolucion n° 214 2008-sunarp-tr-a - transferencia de participaciones socialesResolucion n° 214 2008-sunarp-tr-a - transferencia de participaciones sociales
Resolucion n° 214 2008-sunarp-tr-a - transferencia de participaciones socialesFELIXBAUT
 
Digital Triple Spark Ignition
Digital Triple Spark IgnitionDigital Triple Spark Ignition
Digital Triple Spark IgnitionJishnu Sreenath
 

Andere mochten auch (18)

Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
Anexo visual 2º cuatrimestre mariana vazquez
Anexo visual 2º cuatrimestre  mariana vazquezAnexo visual 2º cuatrimestre  mariana vazquez
Anexo visual 2º cuatrimestre mariana vazquez
 
Native Ads: Ad Content in Context
Native Ads: Ad Content in ContextNative Ads: Ad Content in Context
Native Ads: Ad Content in Context
 
Mountain Stream Group: Portfolio Sample - Media Kit
Mountain Stream Group: Portfolio Sample - Media KitMountain Stream Group: Portfolio Sample - Media Kit
Mountain Stream Group: Portfolio Sample - Media Kit
 
C15 - Advertising
C15 - AdvertisingC15 - Advertising
C15 - Advertising
 
Ocean habitat
Ocean habitatOcean habitat
Ocean habitat
 
Salesforce CRM para corredores, mediadores y comparadores de seguros
Salesforce CRM para corredores, mediadores y comparadores de segurosSalesforce CRM para corredores, mediadores y comparadores de seguros
Salesforce CRM para corredores, mediadores y comparadores de seguros
 
Key Note Session IDUG DB2 Seminar, 16th April London - Julian Stuhler .Trito...
Key Note Session  IDUG DB2 Seminar, 16th April London - Julian Stuhler .Trito...Key Note Session  IDUG DB2 Seminar, 16th April London - Julian Stuhler .Trito...
Key Note Session IDUG DB2 Seminar, 16th April London - Julian Stuhler .Trito...
 
Plantilla cuestionario sobre textos instructivos
Plantilla cuestionario sobre textos instructivosPlantilla cuestionario sobre textos instructivos
Plantilla cuestionario sobre textos instructivos
 
Solve It Labs Offshore Project Management
Solve It Labs Offshore Project ManagementSolve It Labs Offshore Project Management
Solve It Labs Offshore Project Management
 
Memoria descriptiva pillco marca
Memoria descriptiva pillco marcaMemoria descriptiva pillco marca
Memoria descriptiva pillco marca
 
The Audience Is in Charge. Why Every Business Model Should Put the Audience F...
The Audience Is in Charge. Why Every Business Model Should Put the Audience F...The Audience Is in Charge. Why Every Business Model Should Put the Audience F...
The Audience Is in Charge. Why Every Business Model Should Put the Audience F...
 
Gerencia en el aula2
Gerencia en el aula2Gerencia en el aula2
Gerencia en el aula2
 
Ajustes 1
Ajustes 1Ajustes 1
Ajustes 1
 
hipersensibilidades
hipersensibilidades hipersensibilidades
hipersensibilidades
 
Antracita
AntracitaAntracita
Antracita
 
Resolucion n° 214 2008-sunarp-tr-a - transferencia de participaciones sociales
Resolucion n° 214 2008-sunarp-tr-a - transferencia de participaciones socialesResolucion n° 214 2008-sunarp-tr-a - transferencia de participaciones sociales
Resolucion n° 214 2008-sunarp-tr-a - transferencia de participaciones sociales
 
Digital Triple Spark Ignition
Digital Triple Spark IgnitionDigital Triple Spark Ignition
Digital Triple Spark Ignition
 

Ähnlich wie I phone udvikling best brains

Image Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPadImage Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPadOge Marques
 
Introduction to MonoTouch and Monodroid/Mono for Android
Introduction to MonoTouch and Monodroid/Mono for AndroidIntroduction to MonoTouch and Monodroid/Mono for Android
Introduction to MonoTouch and Monodroid/Mono for AndroidChris Hardy
 
Italian Alt.Net Conference MonoTouch Session
Italian Alt.Net Conference MonoTouch SessionItalian Alt.Net Conference MonoTouch Session
Italian Alt.Net Conference MonoTouch SessionChris Hardy
 
5 Realms for Learning iOS Development
5 Realms for Learning iOS Development5 Realms for Learning iOS Development
5 Realms for Learning iOS Developmentirving-ios-jumpstart
 
JavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies TodayJavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies TodayWesley Hales
 
Building Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformBuilding Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformAndrew Ferrier
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.DataArt
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
C# On The iPhone with MonoTouch at DDD8
C# On The iPhone with MonoTouch at DDD8C# On The iPhone with MonoTouch at DDD8
C# On The iPhone with MonoTouch at DDD8Chris Hardy
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyondrsebbe
 
02 Objective C
02 Objective C02 Objective C
02 Objective CMahmoud
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
 
C# on the iPhone with MonoTouch Glasgow
C# on the iPhone with MonoTouch GlasgowC# on the iPhone with MonoTouch Glasgow
C# on the iPhone with MonoTouch GlasgowChris Hardy
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?weschwee
 
JavaClassPresentation
JavaClassPresentationJavaClassPresentation
JavaClassPresentationjuliasceasor
 
Mobile application development; Complete steps
Mobile application development; Complete stepsMobile application development; Complete steps
Mobile application development; Complete steps Abin Baby
 
Introduction to MonoTouch
Introduction to MonoTouchIntroduction to MonoTouch
Introduction to MonoTouchJonas Follesø
 
Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentDataArt
 
Java- Java tech overview- Mazenet solution
Java- Java tech overview- Mazenet solutionJava- Java tech overview- Mazenet solution
Java- Java tech overview- Mazenet solutionMazenetsolution
 

Ähnlich wie I phone udvikling best brains (20)

Ios development
Ios developmentIos development
Ios development
 
Image Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPadImage Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPad
 
Introduction to MonoTouch and Monodroid/Mono for Android
Introduction to MonoTouch and Monodroid/Mono for AndroidIntroduction to MonoTouch and Monodroid/Mono for Android
Introduction to MonoTouch and Monodroid/Mono for Android
 
Italian Alt.Net Conference MonoTouch Session
Italian Alt.Net Conference MonoTouch SessionItalian Alt.Net Conference MonoTouch Session
Italian Alt.Net Conference MonoTouch Session
 
5 Realms for Learning iOS Development
5 Realms for Learning iOS Development5 Realms for Learning iOS Development
5 Realms for Learning iOS Development
 
JavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies TodayJavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies Today
 
Building Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformBuilding Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst Platform
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
C# On The iPhone with MonoTouch at DDD8
C# On The iPhone with MonoTouch at DDD8C# On The iPhone with MonoTouch at DDD8
C# On The iPhone with MonoTouch at DDD8
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyond
 
02 Objective C
02 Objective C02 Objective C
02 Objective C
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
C# on the iPhone with MonoTouch Glasgow
C# on the iPhone with MonoTouch GlasgowC# on the iPhone with MonoTouch Glasgow
C# on the iPhone with MonoTouch Glasgow
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?
 
JavaClassPresentation
JavaClassPresentationJavaClassPresentation
JavaClassPresentation
 
Mobile application development; Complete steps
Mobile application development; Complete stepsMobile application development; Complete steps
Mobile application development; Complete steps
 
Introduction to MonoTouch
Introduction to MonoTouchIntroduction to MonoTouch
Introduction to MonoTouch
 
Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
 
Java- Java tech overview- Mazenet solution
Java- Java tech overview- Mazenet solutionJava- Java tech overview- Mazenet solution
Java- Java tech overview- Mazenet solution
 

Kürzlich hochgeladen

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 

Kürzlich hochgeladen (20)

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 

I phone udvikling best brains

  • 1. iPhone Development onsdag den 7. september 2011
  • 2. Agenda • Requirements • The Objective C Programming Language • Cocoa Touch & Basic Design Patterns • Apple Developer Tools • Apple Developer Portal • Resources onsdag den 7. september 2011
  • 3. Who am I? onsdag den 7. september 2011
  • 4. Hvem er jeg? • Freelance udvikler i Barkode ApS & Bigger • Objective C, Java, Python • Udvikler af “Risteriet”, “MitNykredit” iPhone applikationerne • Arbejder p.t. på en ny universal app for Infopaq International A/S • Mac fanboy! onsdag den 7. september 2011
  • 5. Hvorfor iOS Platformen? • Nysgerrig efter en ny platform. • en ny platform • en ny type device • Andre problemstillinger end Enterprise Java • Et “nyt” programmeringssprog og et nyt framework. • Mac fanboy! onsdag den 7. september 2011
  • 6. onsdag den 7. september 2011
  • 7. Risteriet • Primært tænkt som reklame for et mindre kafferisteri i det indre København. • Benyttede frameworks: • Core Location • MapKit • MediaKit • JSON (eksternt framework) • Core Animation onsdag den 7. september 2011
  • 8. onsdag den 7. september 2011
  • 9. Mit Nykredit • Nykredits Mobile Bank • Ekstremt hurtigt udviklet • Udvalgte benyttede frameworks: • Core Location / MapKit • MediaKit • Core Animation og en del custom UIView’s • Valuta beregner • Pinkode husker • Diverse tabeller • ... • Webservices onsdag den 7. september 2011
  • 10. Mit Nykredit • Nykredits Mobile Bank • Ekstremt hurtigt udviklet • Udvalgte benyttede frameworks: • Core Location / MapKit • MediaKit • Core Animation og en del custom UIView’s • Valuta beregner • Pinkode husker • Diverse tabeller • ... • Webservices onsdag den 7. september 2011
  • 11. Requirements onsdag den 7. september 2011
  • 12. Get a Mac! • En Mac computer og helst et iOS device • Medlem af Apples iOS Developer Program - $99 • Installering af SDK og Developer Tools • “Live by the rules defined by the mothership” onsdag den 7. september 2011
  • 13. The Objective C Programming Language onsdag den 7. september 2011
  • 14. Objective C • Superset til C og derfor kan man benytte C og C++ • Objekt orienteret (1986) og baseret på message passing ala Smalltalk. • Udvidet i 2006 med properties, garbage collection og fast enumeration etc. • Memory Management • OSX - Garbage Collection. • iOS - explicit memory management (reference counting) (iOS 3/4). • “Automatic Reference Counting” (iOS 5) onsdag den 7. september 2011
  • 15. Objective C Syntax 1/3 @interface classname : superclassname { // instance variables } @property (nonatomic, retain) inst_type inst_name; + classMethod1; + (return_type)classMethod2; + (return_type)classMethod3:(param1_type)param1_varName; - (return_type)instanceMethod1:(param1_type)param1_varName andOtherParameter: (param2_type)param2_varName; - (return_type)instanceMethod2WithParameter:(param1_type)param1_varName andOtherParameter:(param2_type)param2_varName; @end onsdag den 7. september 2011
  • 16. Objective C Syntax 2/3 @implementation classname @synthesize type_name; + (return_type)classMethod { // implementation } - (return_type)instanceMethod2WithParameter:(param1_type) param1_varName andOtherParameter:(param2_type)param2_varName { // implementation } @end onsdag den 7. september 2011
  • 17. Objective C Syntax 3/3 @implementation ClientsMapViewController @synthesize titleBar, mapView; #pragma mark - #pragma mark Lifecycle // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; ! ! UIImageView *background = [[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)] autorelease]; ! background.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; ! background.image = [UIImage imageNamed:@"dark_wood_tile"]; ! [self.titleBar addSubview:background]; ! // Sending the image to the back ensures that the text isn't shadowed by the image ! [self.titleBar sendSubviewToBack:background]; ! UIFont *font = [UIFont fontWithName:@"Lobster 1.4" size:17]; ! UILabel *header = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; ! header.text = @"Clients in the center of Copenhagen"; ! header.font = font; ! header.textAlignment = UITextAlignmentCenter; ! header.textColor = [UIColor whiteColor]; ! header.backgroundColor = [UIColor clearColor]; ! self.titleBar.topItem.titleView = header; ! ... } ... onsdag den 7. september 2011
  • 18. Cocoa Touch & Basic Design Patterns onsdag den 7. september 2011
  • 19. Cocoa Touch Selected Frameworks • Core Audio • Open GL ES • Map Kit • Open AL • Quartz 2D • Store Kit • Media Library • Bonjour • Event Kit • AV Foundation • Webkit • Game Kit • Core Data • BSD Sockets • Core Image • SQLite • Address Book • UI Kit • Core Animation • Core Location onsdag den 7. september 2011
  • 20. Model-View-Controller Controller Coordination Update Changes Controller Changes Update Model View Model Data View Display onsdag den 7. september 2011
  • 21. Delegate Pattern • Formål: En delegate er et objekt, der får muligheden for at reagere på ændringer i eller påvirke adfærden hos et andet objekt. • I Cocoa og Cocoa Touch benyttes følgende navne konvention for delegate metoder: • should • will • did onsdag den 7. september 2011
  • 22. Apple Developer Tools onsdag den 7. september 2011
  • 23. Xcode 4 • Source code editor • Compiler (LLVM & GCC) • Debugger (LLDB & GDB) • Static Analysis • SCM (Git, Subversion) • DocViewer (Dokumentation) onsdag den 7. september 2011
  • 24. Xcode 4 • Plus • Static Analysis (http://clang-analyzer.llvm.org/) • Markant lettere at uploade til iTunes Connect og tilføje devices end tidligere • Git integration • Minus • Desværre stadigvæk lidt buggy • Refactoring? onsdag den 7. september 2011
  • 25. Interface Builder • GUI Builder til hhv. iOS og OSX programmer. • Interface designet gemmes i XIB filer og kompileres til NIB - realt en serialisering af objekter. • Utroligt simpelt men stærkt. onsdag den 7. september 2011
  • 26. iOS Simulator • Til hurtig afvikling af dine programmer - men ikke devicet da simulator og device ikke er 100% ens. • Understøtter flere typer af SDKs samt Retina display og iPad. onsdag den 7. september 2011
  • 27. Instruments • Instruments er din ven! • Bruges til at finde memory leaks, og over releases (NSZombie) • Bruges også til at optimere performance, finde flaskehalse eller afvikling af automation scripts. onsdag den 7. september 2011
  • 28. Demo onsdag den 7. september 2011
  • 29. Apple Developer Portal onsdag den 7. september 2011
  • 30. Provisioning Portal • Configure Profile • Certificates • Signering af App før den kan afvikles på et device • Devices • 100 devices • AppID • Bruges bla. til In App Purchases, Push Notification, Hardware Accessory, Game Center & iCloud onsdag den 7. september 2011
  • 31. Provisioning Portal • Download & Install • Development Provisioning Profile indeholder: • Development Certificates • Unique Device Identifiers • App ID. • Build & Go • Ad hoc distribution - beta builds • AppStore distribution - production builds onsdag den 7. september 2011
  • 32. iTunes Connect • Produktet oprettes i AppStore via iTunes Connect • Beskrivelse af produktet samt keywords • Kategori • Screen Shots • Tilgængelighed (lande) onsdag den 7. september 2011
  • 33. iTunes Connect • Customer Reviews • Crash reports • Financial reports • Sales/Trends • Manage Users onsdag den 7. september 2011
  • 34. One more thing... onsdag den 7. september 2011
  • 35. The new kid on the block • AppCode fra Jetbrains • Bygger på Jetbrains IntelliJ framework • Refactoring kendt fra Jetbrains andre produkter så som IntelliJ, PyCharm, RubyMine etc. • Integration med andre (D)VCS • Plugin ecosystem • Kræver at Xcode og SDK allerede er installeret onsdag den 7. september 2011
  • 36. Resources onsdag den 7. september 2011
  • 37. Online • Google Group - cocoa-unbound http://groups.google.com/group/cocoa- • CocoaDev - wiki http://cocoadev.com/ unbound/ • Cocoa Dev Central • Cocoa With Love - blog http://cocoawithlove.com/ http://cocoadevcentral.com/ • Der findes en del fine • Cocoa is my girlfriend -blog http://www.cimgf.com/ frameworks på Github http://github.com • Apple Developer Connection Forum onsdag den 7. september 2011
  • 38. Offline CYAN YELLOW SPOT MATTE CYAN YELLOW SPOT MATTE MAGENTA BLACK MAGENTA BLACK PANTONE 123 C PANTONE 123 C By Companion iP BOOKS FOR PROFESSIONALS BY PROFESSIONALS® BOOKS FOR PROFESSIONALS BY PROFESSIONALS® th Companion e eBook ho be eBook st Be De -s ne el Available gi ve lin Available g nn lo au th Turn Java Expertise into Mac OS X or in pm More Great iPhone API I so RELATED TITLES g e f • Learn Objective-C, the language of native Mac and iPhone apps, by leveraging nterested in iPhone development? Want to learn more? Whether you’re a More iPhone 3 Development the Java programming skills you already have. Learn Objective-C for Java Developers and iPhone App Productivity self taught iPhone dev or have just made your way through the pages of Coverage, Depth, and Insight nt Beginning iPhone 3 Development, we’ve got a great new book for you. • Learn to use Apple’s development environment, including just enough Cocoa More iPhone 3 Development: Tackling iPhone SDK 3 digs deep into Apple’s latest and Xcode. It’s the professional’s express route to Mac and iPhone developer SDK, with bestselling authors Dave Mark and Je LaMarche explaining things pro ciency. as only they can, covering topics like Core Data, peer-to-peer networking us- • Learn by working through the exercises and then keep returning for reference ing GameKit and network streams, working with data from the web, MapKit, and further study. You’ll nd everything conveniently organized so you can in-application e-mail, and more. All the concepts and APIs are clearly laid out reference techniques by design pattern. and come complete with code snippets you can customize for use in your most ambitious apps. W e all love Java, but Mac OS X is looking awfully cool these days and iPhone OS de- velopment is the most exciting new environment since, well…, since Java! If only there were a way to avoid learning objective-C. If you’re a Javahead, you probably know a lot More iPhone 3 Development continues right where Beginning iPhone 3 Develop- ment left o , starting with a series of chapters devoted to Core Data, Apple’s new standard for iPhone Persistence. Je and Dave step you through the key more about objective-C than you think. The two languages are full of similarities and that’s concepts of Core Data, including techniques and tips speci cally for writing why we’ve published Learn Objective-C for Java Developers, your shortcut to Mac and iphone Large-Scale Applications. For writing professional iPhone apps, you’ll want development productivity. to embrace Core Data,. Both languages are object-oriented, use similar inheritance models, string classes, garbage The depth and breadth of Core Data coverage alone is worth the price of ad- collection, serialization, threads, introspection, and communications. They also embrace mission, but there’s so much more. This book covers a variety of networking proven design patterns like Model-View-Controller and property accessors. You’re already a mechanisms, from GameKit’s relatively simple BlueTooth peer-to-peer model, good portion of the way there and you haven’t even opened this book! to the addition of Bonjour discovery and network streams, through the com- We’ll show you how to use what you know about Java to understand and become quickly plexity of acquiring information through Web File Access. Dave and Je also pro cient in Objective-C. Most important, we’ll show you how to take advantage of features take you through advanced topics, such as Concurrent Programming and unique to Objective-C and incorporate them into your designs. Don’t waste your hard-earned techniques for Debugging. Learn Objective-C Java knowledge by starting over in kindergarten. Move yourself to the head of the class and Your knowledge of iPhone app creation can’t be considered complete until More catapult over the Objective-C learning curve. You’ll be writing Mac OS X and iPhone apps you’ve mastered all the knowledge imparted and techniques revealed in More faster than you ever imagined possible. iPhone 3 Development. James Bucanek has over 25 years of experience in software and systems development. Dave Mark is a long-time Mac developer and author and has written a num- Having made the transition to Mac OS X many years ago, he has never looked back. ber of books on Macintosh development, including Learn C on the Macintosh, The Macintosh Programming Primer series, and Ultimate Mac Programming. His for iPhone 3 Development blog can be found at www.davemark.com. Java Developers Je LaMarche is a longtime Mac developer, and Apple iPhone Developer. With over 20 years of programming experience, he’s written RELATED TITLES on Cocoa and Objective-C for MacTech Magazine, as well as articles for Apple’s Developer Technical Services website. He has experience Tackling iPhone SDK 3 working in Enterprise software, both as a developer for PeopleSoft starting in the late 1990s, and then later as an independent consultant. Bucanek Dave Mark | Jeff LaMarche Mark COMPANION eBOOK SEE LAST PAGE FOR DETAILS ON $10 eBOOK VERSION ISBN 978-1-4302-2369-6 COMPANION eBOOK James Bucanek ISBN SEE LAST PAGE FOR DETAILS ON $10 eBOOK VERSION 978-1-4302-2505-8 5 39 9 9 5 39 9 9 US $39.99 US $39.99 Shelve in Shelve in: Mac Development Mobile Computing/Mac Development SOURCE CODE ONLINE User level: SOURCE CODE ONLINE User level: www.apress.com Intermediate–Advanced 9 781430223696 www.apress.com Intermediate–Advanced 9 7814 225058 30 this print for content only—size & color not accurate this print for content only—size & color not accurate Trim: 7.5 x 9.25 spine =0.96875" 520 page count Trim: 7.5 x 9.25 spine = 0.000" 000 page count onsdag den 7. september 2011
  • 39. NSCoder Night • NSCoder Night Copenhagen • Onsdag kl. 19-22 • RETRO Nørrebro Jægersborggade 14 2200 København N • Twitter @copenhagencocoa onsdag den 7. september 2011
  • 40. Efficiency onsdag den 7. september 2011
  • 41. Simplified onsdag den 7. september 2011
  • 42. BARKODE onsdag den 7. september 2011