absolute beginners guide to iphone dev
DESCRIPTION
Slides for presentation given by Barry Ezell to the Suncoast iPhone App Developer's Meetup for August 2000.TRANSCRIPT
iPhone DevelopmentAbsolute beginners guide to...
Barry Ezell
September 26th - Dev Day
USF College of Business
September 27th - Media Day
Technology Unconference
http://barcamptampabay.com
• Intro to the Intro
• What you need: Hardware
• What you need: Software
• What you need: Wetware
• Code!
• Submit
All about me
• Ruby, C#, Erlang
• iPhone beginning 3/2009
• One app in store (SuccessIts)
• One submitted (Bookmark, bookmarkapp.com)
• Several in works
You don’t have to be a fanboy
• Accelerometer, camera, video, magnetometer, iPod, touch, OpenGL
• Over 37M units sold (4/2009)
• Over 1.5B app downloads
• $2.4B a year in sales
Pros
• Controlled, predictable platform
• 320x480 px
• Good documentation
• Apple handles sales
Cons
• All Apple all the time
• Their hardware
• They approve / reject apps
• No alternative app store
• You can use any language as long as it’s Objective-C
WYN: Hardware
• Intel-based Mac running Leopard or S.L.
• iPhone / iPod Touch
WYN: Software
XCode et al.
• XCode 3.x and Instruments on install disk under “Optional Installs”
• Download iPhone SDK, simulator from Apple (after joining dev program)
• All free
Registered iPhone Developer Programhttp://developer.apple.com/iphone/
Free Test using the simulator, no sales
Standard ($99/yr) Test on devices, unlimited sales in App Store
Enterprise ($299/yr) Unlimited in-house distribution, no App Store sales
WYN: Wetware
• Learn Objective-C
• Learn Cocoa Touch, Frameworks
Objective-C
Square brackets represent!
• OO, strict superset of C, inspired by Smalltalk messaging
• Any valid C or C++ code works
• You handle memory management
• [object retain];
• [object release];
• Objects are passed messages with descriptive arguments
Messaging
coyote.hunt(roadRunner,rocketSkates,true);
• Apple’s Object-Oriented Programming with Objective-C http://bit.ly/13QlgA
• Peepcode screencast series: Objective-C for Rubyists
• Programming in Objective-C 2.0 by Stephen G. Kochan
Resources
Cocoa Touch
• Desktop Cocoa adapted for the iPhone
• Frameworks:
• UIKit (touch, windowing, accelerometer)
• CoreGraphics (Quartz, PDF, animation)
• CoreLocation (GPS)
• MediaPlayer (iPod)
• Many more
Resources
• Pragmatic Programmer: iPhone SDK Development by Bill Dudney
• iPhone Developer’s Cookbook by Erica Sadun
• Interwebs: iphonedevsdk.com, Apple forums, Google
Let’s Code
• Finally!
• TweetCount
• XCode > New Project > Utility Application
One Window, many Views
UITableView
One Window, many Views
UIImageView
UIProgressView
UIButton
UILabel
• Normally both called “nibs”
• “Freeze-dried” objects, interface elements, and relationsips
• Normally single .xib launched at app start
.nib or .xib files
IBOutlet & IBAction
• IBOutlets allow getting and setting properties on objects in IB
• IBActions allow objects to receive events like touches or value changes
Test on Devices
• Simulator != iPhone
• Get Provisioning Profiles and Development Certificates on iPhone Dev Portal
• Make life easier with wildcard naming: com.barryezell.*
• Configure app for device testing
• Change Active SDK to “Device”
• Set Signing Identity under Project > Edit Project Settings
• Set your App ID in info.plist file
Device Testing
• Set Release configuration
• Set App Store Signing Identity
• Add artwork (57x57, 512x512 icons)
• Compile and zip with 57x57 icon
Submit to Apple
Upload to iTunes Connect
Tips while waiting on Apple
• Avoid cracks in sidewalk
• Ditto walking under ladders
• Try to forget you ever invested all that time
Resource of Resources
• http://theappleblog.com/2009/06/01/43-iphone-development-resources