iPhone Development Zero to Sixty Tom Swift 1821 Design
Who the hell am I? iPhone Developer: Thomas Swift Owner of 1821 Design http://1821design.com Rails Developer  & Web Designer http://twitter.com/tmy - add me or don't (i swear a lot)
Why iPhone Development? The iPhone kicks ass 3G and GPS Powerful OpenGL ES Mac Development Xcode & Objective-C  App Store One Stop Shop Easy For Users Great For Developers *
Getting Started What you need iPhone Developer Account Newest Xcode Intel Machine :( What you (really) need iPhone or iPod Touch Developer Certificate Patience or some sort of mechanism to cope
Learning Objective-C  or:  How I Learned to Stop Worrying and Love the Bracket
Objective-C Things that threw me for a loop Bracket Madness Method Calling [object method:param] instead of object.method(param)  Plus and Minus in front of method calls Going back to two files .m and .h Pointers and Memory Management  Extremely long names of things UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(toggleView)];  Get Over It I’m sure I forgot something
Where I started Apple Sample Code Apple Sample Code is like an old BMW M5
Which M5 - E60 M5 ?
Which M5 – E36 M5?
Nope: the E34 M5
Why is Apple Sample code like a old BMW M5? Hand built by Single Person or a small team Test Drivers were able to tell who built them Each had own individual style to match objective Pretty badass and very relevant They get the job done  A Little Old – except a few
Good Apple Samples LocateMe CoreLocation Delegates SpeakHere AudioToolbox AudioQueue AccelerometerGraph SeismicXML Pulling from the web Reachability Wifi, Cell Network  Many More
Learning From Them Remove the 50 pages of comments from each file Start from the top main.m <APP>AppDelegate.h .m
Xcode is slick Research Assistant Code completion  press esc Breakpoints & GDB Documentation Code Folding Instruments
A few tips An Error is an Error A Warning is an Error -  Fix it When you alloc init something release it when your done with it Link to frameworks inside the iPhone SDK Frameworks, sometime you’ll get funky build errors Speaking of building ABB – Always Be Building
Simulators are no fun * Except for SimCity It’s a little faster to compile it to the simulator You can test out your didReceiveMemoryWarning (a little harder on the device)
Taste The Real Thing Accelerometer GPS Microphone * Real Memory Space Testing Hand Interaction  (that sounds sick) Left Handed, Right Handed Screen Orientation Keyboard Flow Oh crap! Phone Call No WIFI, No Cell Signal
Developer Certificate
Getting that app on the Device Program Portal http://developer.apple.com/iphone/manage/overview/index.action Generate on keys the machine Upload to Apple Setup a Provision Profile Download the Profile Install in Xcode Send app to device
Program Portal
Team
Certificates
Devices
App IDs
Struggle
Provisioning Profile
Installing Provisioning Profile Download and Drag to Xcode Xcode should be open When things get jacked up Restart Xcode remove profiles delete from  ~/Library/MobileDevice/Provisioning Profiles  drag the downloaded one to Xcode again restart xcode for good measure tweet about stabbing your eyes out
Build? Not Yet –  Error 0xE8000001 Change Build Settings and info.plist
2 nd  Most Important Slide
Build Settings Right Click Blue Icon Get Info Click on Build Tab
 
YES!!!
Where to turn to when the S hits the fan? (before fnda lifted) Apple Docs Cocoa Dev Wiki  The Googles http://www.iphonedevsdk.com/forum IRC #iphonedev on freenode  Apple Dev Mail list Existing Source Code Wordpress iPhone Code
* App Store First off, It’s awesome But, REVIEWS  Loose Guidelines NDA’d Rejections Sea of pointless apps * No Trials Cheap People
Don’t Take My Word for it I am not an expert I have no apps on the store Based on personal experience Your results WILL vary Not Covered  Distribution and Ad-Hoc
Enough Blab Let’s build something! Thomas Swift 1821 Design Slides: http://www.slideshare.net/1821Design/

iPhone Development: Zero to Sixty

  • 1.
    iPhone Development Zeroto Sixty Tom Swift 1821 Design
  • 2.
    Who the hellam I? iPhone Developer: Thomas Swift Owner of 1821 Design http://1821design.com Rails Developer & Web Designer http://twitter.com/tmy - add me or don't (i swear a lot)
  • 3.
    Why iPhone Development?The iPhone kicks ass 3G and GPS Powerful OpenGL ES Mac Development Xcode & Objective-C App Store One Stop Shop Easy For Users Great For Developers *
  • 4.
    Getting Started Whatyou need iPhone Developer Account Newest Xcode Intel Machine :( What you (really) need iPhone or iPod Touch Developer Certificate Patience or some sort of mechanism to cope
  • 5.
    Learning Objective-C or: How I Learned to Stop Worrying and Love the Bracket
  • 6.
    Objective-C Things thatthrew me for a loop Bracket Madness Method Calling [object method:param] instead of object.method(param) Plus and Minus in front of method calls Going back to two files .m and .h Pointers and Memory Management Extremely long names of things UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(toggleView)]; Get Over It I’m sure I forgot something
  • 7.
    Where I startedApple Sample Code Apple Sample Code is like an old BMW M5
  • 8.
    Which M5 -E60 M5 ?
  • 9.
    Which M5 –E36 M5?
  • 10.
  • 11.
    Why is AppleSample code like a old BMW M5? Hand built by Single Person or a small team Test Drivers were able to tell who built them Each had own individual style to match objective Pretty badass and very relevant They get the job done A Little Old – except a few
  • 12.
    Good Apple SamplesLocateMe CoreLocation Delegates SpeakHere AudioToolbox AudioQueue AccelerometerGraph SeismicXML Pulling from the web Reachability Wifi, Cell Network Many More
  • 13.
    Learning From ThemRemove the 50 pages of comments from each file Start from the top main.m <APP>AppDelegate.h .m
  • 14.
    Xcode is slickResearch Assistant Code completion press esc Breakpoints & GDB Documentation Code Folding Instruments
  • 15.
    A few tipsAn Error is an Error A Warning is an Error - Fix it When you alloc init something release it when your done with it Link to frameworks inside the iPhone SDK Frameworks, sometime you’ll get funky build errors Speaking of building ABB – Always Be Building
  • 16.
    Simulators are nofun * Except for SimCity It’s a little faster to compile it to the simulator You can test out your didReceiveMemoryWarning (a little harder on the device)
  • 17.
    Taste The RealThing Accelerometer GPS Microphone * Real Memory Space Testing Hand Interaction (that sounds sick) Left Handed, Right Handed Screen Orientation Keyboard Flow Oh crap! Phone Call No WIFI, No Cell Signal
  • 18.
  • 19.
    Getting that appon the Device Program Portal http://developer.apple.com/iphone/manage/overview/index.action Generate on keys the machine Upload to Apple Setup a Provision Profile Download the Profile Install in Xcode Send app to device
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
    Installing Provisioning ProfileDownload and Drag to Xcode Xcode should be open When things get jacked up Restart Xcode remove profiles delete from ~/Library/MobileDevice/Provisioning Profiles drag the downloaded one to Xcode again restart xcode for good measure tweet about stabbing your eyes out
  • 28.
    Build? Not Yet– Error 0xE8000001 Change Build Settings and info.plist
  • 29.
    2 nd Most Important Slide
  • 30.
    Build Settings RightClick Blue Icon Get Info Click on Build Tab
  • 31.
  • 32.
  • 33.
    Where to turnto when the S hits the fan? (before fnda lifted) Apple Docs Cocoa Dev Wiki The Googles http://www.iphonedevsdk.com/forum IRC #iphonedev on freenode Apple Dev Mail list Existing Source Code Wordpress iPhone Code
  • 34.
    * App StoreFirst off, It’s awesome But, REVIEWS Loose Guidelines NDA’d Rejections Sea of pointless apps * No Trials Cheap People
  • 35.
    Don’t Take MyWord for it I am not an expert I have no apps on the store Based on personal experience Your results WILL vary Not Covered Distribution and Ad-Hoc
  • 36.
    Enough Blab Let’sbuild something! Thomas Swift 1821 Design Slides: http://www.slideshare.net/1821Design/