Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction iPhone Development

Introduction iPhone Development

Talk about the iPhone app development process, given at the Amsterdam CocoaHeads meeting, January 13, 2011.

Axel Roest

January 13, 2011
Tweet

More Decks by Axel Roest

Other Decks in Programming

Transcript

  1. Overview No installation No ƒancy stuƒƒ No explanation of Objective-C

    (unless asked) ? --> Direct Step-by-step walk through 2
  2. Overview No installation No ƒancy stuƒƒ No explanation of Objective-C

    (unless asked) ? --> Direct Step-by-step walk through End Result 2
  3. Design iPhone & iPad apps should look good Get a

    Designer Get a Developer Design first, implement later 4
  4. 6

  5. 7

  6. 8

  7. Interface Builder Create NIB/XIB files Drag & Drop GUI items

    Create ‘live’ objects Make connections between objects 10
  8. Delegate Actions on a TableView are send here - (void)tableView:(UITableView

    *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 13
  9. DataSource Requests for data is send here - (NSInteger)numberOfSectionsInTableView: (UITableView

    *)aTableView - (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 14
  10. TableView cells - (UITableViewCell *)tableView:(UITableView *)tableView !! ! ! cellForRowAtIndexPath:(NSIndexPath

    *)indexPath { static NSString *CellIdentifier = @"CellIdentifier"; // Dequeue or create a cell of the appropriate type. UITableViewCell *cell = [tableView !! ! ! ! dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] !! ! ! ! ! ! ! initWithStyle:UITableViewCellStyleDefault !! ! ! ! ! ! reuseIdentifier:CellIdentifier] autorelease]; } // Configure this cell. cell.textLabel.text = [NSString stringWithFormat:@"%d: %@", !! ! ! ! indexPath.row,[sites objectAtIndex:indexPath.row]]; return cell; } 15
  11. Improvements Edit UITableView Check for internet (Apple Must) Spinning wheel

    + Asynchronous loading Portrait + Landscape WebView back/forward buttons 16
  12. 90-90 rule “The first 90% of the code accounts for

    the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” [ Tom Cargill, Bell Labs-1985 ] 17
  13. Next Sign up as an Apple iOS Developer Get Certificates,

    Device IDs, App IDs, Provisioning and Distribution profiles 18
  14. Next Sign up as an Apple iOS Developer Get Certificates,

    Device IDs, App IDs, Provisioning and Distribution profiles Test on real iOS device 18
  15. Next Sign up as an Apple iOS Developer Get Certificates,

    Device IDs, App IDs, Provisioning and Distribution profiles Test on real iOS device But that’s another story 18