Develop for iPhone                             and Get Rich                                     (development experiences.....
The Plan                   • Why do you want to develop for iPhone?                   • The iPhone Ecosystem              ...
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Results not typical.                   Your actual income may vary. High returns                    represent a relatively...
App Store StatisticsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
App Store Statistics                   •      > $1 Billion industry => $4B in 2012Copyright 2009 Dan Pilone / dan@pilone.o...
App Store Statistics                   •      > $1 Billion industry => $4B in 2012                   •      > 2 Billion do...
App Store Statistics                   •      > $1 Billion industry => $4B in 2012                   •      > 2 Billion do...
App Store Statistics                   •      > $1 Billion industry => $4B in 2012                   •      > 2 Billion do...
App Store Statistics                   •      > $1 Billion industry => $4B in 2012                   •      > 2 Billion do...
App Store Statistics                   •      > $1 Billion industry => $4B in 2012                   •      > 2 Billion do...
Why are people                   developing for iPhone?Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, Dece...
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Why is iPhone                                  successful?Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, D...
Why is iPhone                                  successful?                   • Development experience (Frameworks, UI,    ...
Why is iPhone                                  successful?                   • Development experience (Frameworks, UI,    ...
Why is iPhone                                  successful?                   • Development experience (Frameworks, UI,    ...
Why is iPhone                                  successful?                   • Development experience (Frameworks, UI,    ...
Why is iPhone                                  successful?                   • Development experience (Frameworks, UI,    ...
UI MattersCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
UI MattersCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Classics      Downloads to date: 450,000      Price: $2.99      Approx Income: $940,000Copyright 2009 Dan Pilone / dan@pil...
I Am T-Pain      Downloads to date: 300,000      Price: $2.99      Approx Income: $627,900Copyright 2009 Dan Pilone / dan@...
Flight Control                                    Downloads to date: 700,000                                              ...
There is money to be                          EARNED.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, Decemb...
iPhone App BasicsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
You Need an Intel-based MacCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
And the Apple SDKCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Devices are optionalCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
iPhone App RulesCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
iPhone App Rules                   • No 3rd party background appsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWedne...
iPhone App Rules                   • No 3rd party background apps                   • Limited resourcesCopyright 2009 Dan ...
iPhone App Rules                   • No 3rd party background apps                   • Limited resources                   ...
iPhone App Rules                   • No 3rd party background apps                   • Limited resources                   ...
Designing a Traditional                           AppCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, Decemb...
is NOT                                                the same                                                    asCopyri...
iPhone Apps Are View BasedCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
iPhone Apps Are View BasedCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
iPhone Apps Are View BasedCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Frameworks and ToolsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Framework Patterns                          View                                                       View               ...
Framework Patterns                          View                                                       View               ...
Behind the Scenes   #import <UIKit/UIKit.h>   @interface HelloWorldViewController :   UIViewController {   }   @end       ...
XcodeCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Full Featured IDECopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Graphical debuggerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Built in App TemplatesCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Data modelerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Static Code AnalyzerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Objective-CCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
C-based Language                        !      BOOL wasItZero;                        !                        !      if (...
And then it goes off the                      rails...               - (id)initWithNibName:(NSString *)nibNameOrNil       ...
Objective-C means                            message passing           [window addSubview:viewController.view];           ...
Objective-C means                            message passing           [window addSubview:viewController.view];           ...
Messages are turned                         into method calls       @interface UIView : UIResponder<NSCoding>       {     ...
Properties and Fields       @interface HelloWorldAppDelegate : NSObject       <UIApplicationDelegate> {           UIWindow...
Properties and Fields       @interface HelloWorldAppDelegate : NSObject       <UIApplicationDelegate> {           UIWindow...
Memory management??Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Objective-C uses reference                                        countingCopyright 2009 Dan Pilone / dan@pilone.org / Dev...
Memory management                        is critical                         - (void)dealloc {                            ...
The SDK includes                                 InstrumentsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday,...
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Behind the Scenes                          View                                                       View                ...
Behind the Scenes   #import <UIKit/UIKit.h>   @interface HelloWorldViewController :   UIViewController {   }   @end       ...
Behind the Scenes   #import <UIKit/UIKit.h>   @interface HelloWorldViewController :   UIViewController {   }   @end       ...
Interface BuilderCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
#import <UIKit/UIKit.h>       @interface HelloWorldViewController :       UIViewController {       }       @end           ...
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
#import <UIKit/UIKit.h>                                                       @interface HelloWorldViewController :       ...
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
But what about                interacting with the UI?Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, Decem...
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
#import <UIKit/UIKit.h>                                                       @interface HelloWorldViewController :       ...
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
BreatheCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Testing your codeCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
iPhone SimulatorCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Simulator Issues                   • No camera                   • Single GPS (Core Location) point                   • Li...
But it’s worse than just                     the simulator...Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday...
But it’s worse than just                     the simulator...              iPhone 2G                No GPSCopyright 2009 D...
But it’s worse than just                     the simulator...              iPhone 2G           iPhone 3G                No...
But it’s worse than just                     the simulator...              iPhone 2G           iPhone 3G             iPhon...
But it’s worse than just                     the simulator...              iPhone 2G           iPhone 3G             iPhon...
But it’s worse than just                     the simulator...              iPhone 2G           iPhone 3G             iPhon...
But it’s worse than just                     the simulator...              iPhone 2G           iPhone 3G             iPhon...
You need to test on                             real devices.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday...
You are here                   • You’ve written an app                   • You’ve debugged it in the simulator            ...
The App Approval                                   ProcessCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, D...
It’s not as bad as                                  you’ve heard.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWedne...
It will take two weeks                        to be rejected*                                               *...or accepte...
They do test your app.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
They will eventually                      catch HIG or License                           Violations.Copyright 2009 Dan Pil...
Real World ExampleCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Real World ExampleCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Selling your app and post                              approvalCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesd...
AnalyticsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Really hard to make                     money with Ad based                             appsCopyright 2009 Dan Pilone / da...
LocalizationCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Two sales modelsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Chart Likage           100             75              50              25                0                               P...
Distimo Sept 09Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Distimo Sept 09Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Omnifocus      Downloads to date: >50,000      Price: $19.99      Approx Income: $700,000Copyright 2009 Dan Pilone / dan@p...
Wrap up                   • Why do you want to develop for iPhone?                   • The iPhone Ecosystem               ...
More                 Information                           Dan Pilone                      Twitter: @danpilone            ...
Q&ACopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
Upcoming SlideShare
Loading in …5
×

Dev Days 2009 - iPhone Development Overview

1,190 views

Published on

Introduction to iPhone Development presented by Dan Pilone at the DevDays 2009 conference.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,190
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dev Days 2009 - iPhone Development Overview

  1. 1. Develop for iPhone and Get Rich (development experiences...) DevDays October 2009 - Dan PiloneCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  2. 2. The Plan • Why do you want to develop for iPhone? • The iPhone Ecosystem • Tools and Technologies • Approval and SalesCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  3. 3. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  4. 4. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  5. 5. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  6. 6. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  7. 7. Results not typical. Your actual income may vary. High returns represent a relatively small percentage of applications in the iTunes App Store. The App Store is designed for maximum turnover of applications. Placement in top 100 lists dramatically influence sales. Placement above 50 typically double sales. Placement in top 10 increase sales by order of magnitude.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  8. 8. App Store StatisticsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  9. 9. App Store Statistics • > $1 Billion industry => $4B in 2012Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  10. 10. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloadsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  11. 11. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloads • > 100,000 appsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  12. 12. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloads • > 100,000 apps • > 75% are paid appsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  13. 13. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloads • > 100,000 apps • > 75% are paid apps • Of the 20 categories in App Store, Games & Entertainment represent 35%Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  14. 14. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloads • > 100,000 apps • > 75% are paid apps • Of the 20 categories in App Store, Games & Entertainment represent 35% • Social networking, Photography, Finance, Medical and Weather combined are 6.2%Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  15. 15. Why are people developing for iPhone?Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  16. 16. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  17. 17. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  18. 18. Why is iPhone successful?Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  19. 19. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.)Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  20. 20. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.) • Approval ProcessCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  21. 21. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.) • Approval Process • Makes Money for developersCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  22. 22. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.) • Approval Process • Makes Money for developers • Fantastic distribution mechanismCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  23. 23. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.) • Approval Process • Makes Money for developers • Fantastic distribution mechanism • User ExperienceCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  24. 24. UI MattersCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  25. 25. UI MattersCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  26. 26. Classics Downloads to date: 450,000 Price: $2.99 Approx Income: $940,000Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  27. 27. I Am T-Pain Downloads to date: 300,000 Price: $2.99 Approx Income: $627,900Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  28. 28. Flight Control Downloads to date: 700,000 Price: $0.99 Approx Income: $485,000Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  29. 29. There is money to be EARNED.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  30. 30. iPhone App BasicsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  31. 31. You Need an Intel-based MacCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  32. 32. And the Apple SDKCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  33. 33. Devices are optionalCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  34. 34. iPhone App RulesCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  35. 35. iPhone App Rules • No 3rd party background appsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  36. 36. iPhone App Rules • No 3rd party background apps • Limited resourcesCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  37. 37. iPhone App Rules • No 3rd party background apps • Limited resources • Live in a sand boxCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  38. 38. iPhone App Rules • No 3rd party background apps • Limited resources • Live in a sand box • Must use published APICopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  39. 39. Designing a Traditional AppCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  40. 40. is NOT the same asCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  41. 41. iPhone Apps Are View BasedCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  42. 42. iPhone Apps Are View BasedCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  43. 43. iPhone Apps Are View BasedCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  44. 44. Frameworks and ToolsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  45. 45. Framework Patterns View View ControllerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  46. 46. Framework Patterns View View ControllerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  47. 47. Behind the Scenes #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } @end Objective-C classes and Nibs built with UIKit Interface BuilderCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  48. 48. XcodeCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  49. 49. Full Featured IDECopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  50. 50. Graphical debuggerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  51. 51. Built in App TemplatesCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  52. 52. Data modelerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  53. 53. Static Code AnalyzerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  54. 54. Objective-CCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  55. 55. C-based Language ! BOOL wasItZero; ! ! if (x == 0) { ! ! NSLog(@"Wow, x was 0."); ! ! wasItZero = YES; ! } else if (x == 1) { ! ! NSLog(@"Youd never guess. it was 1."); ! ! wasItZero = NO; ! } ! ! return wasItZero;Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  56. 56. And then it goes off the rails... - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { // Custom initialization } return self; }Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  57. 57. Objective-C means message passing [window addSubview:viewController.view]; receiver message argumentCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  58. 58. Objective-C means message passing [window addSubview:viewController.view]; receiver message argumentCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  59. 59. Messages are turned into method calls @interface UIView : UIResponder<NSCoding> { ... } - (void)addSubview:(UIView *)view; @endCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  60. 60. Properties and Fields @interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; HelloWorldViewController *viewController; } @property (nonatomic, retain) UIWindow *window; @property (nonatomic, retain) HelloWorldViewController *viewController; @endCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  61. 61. Properties and Fields @interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; HelloWorldViewController *viewController; } @property (nonatomic, retain) UIWindow *window; @property (nonatomic, retain) HelloWorldViewController *viewController; @end @synthesize window; @synthesize viewController;Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  62. 62. Memory management??Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  63. 63. Objective-C uses reference countingCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  64. 64. Memory management is critical - (void)dealloc { [viewController release]; [window release]; [super dealloc]; }Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  65. 65. The SDK includes InstrumentsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  66. 66. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  67. 67. Behind the Scenes View View ControllerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  68. 68. Behind the Scenes #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } @end Objective-C classes and UIKit Views and NibsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  69. 69. Behind the Scenes #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } @end Objective-C classes and UIKit Views and NibsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  70. 70. Interface BuilderCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  71. 71. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  72. 72. #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } @end UIView UIView ControllerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  73. 73. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  74. 74. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  75. 75. #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } - (IBAction) tapMeButtonPressed: (id) sender; @end - (IBAction) tapMeButtonPressed: (id) sender { ! UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Tapped!" message:@"Fingers of steel!" delegate:nil cancelButtonTitle:@"Bo-ya" otherButtonTitles:nil]; ! [alertView show]; ! [alertView release]; }Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  76. 76. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  77. 77. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  78. 78. But what about interacting with the UI?Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  79. 79. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  80. 80. #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { ! UILabel *helloLabel; } @property (nonatomic, retain) IBOutlet UILabel *helloLabel; - (IBAction) tapMeButtonPressed: (id) sender; @end - (IBAction) tapMeButtonPressed: (id) sender { ! self.helloLabel.text = @"Fingers of steel!"; }Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  81. 81. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  82. 82. Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  83. 83. BreatheCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  84. 84. Testing your codeCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  85. 85. iPhone SimulatorCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  86. 86. Simulator Issues • No camera • Single GPS (Core Location) point • Limited gesture and accelerometer support • Infinite memory and performance • Lax enforcement of permissionsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  87. 87. But it’s worse than just the simulator...Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  88. 88. But it’s worse than just the simulator... iPhone 2G No GPSCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  89. 89. But it’s worse than just the simulator... iPhone 2G iPhone 3G No GPS No Compass No VideoCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  90. 90. But it’s worse than just the simulator... iPhone 2G iPhone 3G iPhone 3GS No GPS No Compass New OpenGL No Video Better Camera QuickerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  91. 91. But it’s worse than just the simulator... iPhone 2G iPhone 3G iPhone 3GS iPod Touch 1G No GPS No Compass New OpenGL No Cellular No Video Better Camera No Ext. Quicker SpeakerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  92. 92. But it’s worse than just the simulator... iPhone 2G iPhone 3G iPhone 3GS iPod Touch 1G iPod Touch 2G No GPS No Compass New OpenGL No Cellular No Camera No Video Better Camera No Ext. Quicker SpeakerCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  93. 93. But it’s worse than just the simulator... iPhone 2G iPhone 3G iPhone 3GS iPod Touch 1G iPod Touch 2G No GPS No Compass New OpenGL No Cellular No Camera No Video Better Camera No Ext. Quicker Speaker yet...Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  94. 94. You need to test on real devices.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  95. 95. You are here • You’ve written an app • You’ve debugged it in the simulator • You’ve installed it on a real device* *...and it worksCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  96. 96. The App Approval ProcessCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  97. 97. It’s not as bad as you’ve heard.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  98. 98. It will take two weeks to be rejected* *...or accepted.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  99. 99. They do test your app.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  100. 100. They will eventually catch HIG or License Violations.Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  101. 101. Real World ExampleCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  102. 102. Real World ExampleCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  103. 103. Selling your app and post approvalCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  104. 104. AnalyticsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  105. 105. Really hard to make money with Ad based appsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  106. 106. LocalizationCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  107. 107. Two sales modelsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  108. 108. Chart Likage 100 75 50 25 0 People who like chartsCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  109. 109. Distimo Sept 09Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  110. 110. Distimo Sept 09Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  111. 111. Omnifocus Downloads to date: >50,000 Price: $19.99 Approx Income: $700,000Copyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  112. 112. Wrap up • Why do you want to develop for iPhone? • The iPhone Ecosystem • Tools and Technologies • Approval and SalesCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  113. 113. More Information Dan Pilone Twitter: @danpilone dan@pilone.org iPhone Dev Site: http://developer.apple.com/iphoneCopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009
  114. 114. Q&ACopyright 2009 Dan Pilone / dan@pilone.org / DevDaysWednesday, December 23, 2009

×