Absolute Beginners Guide to iPhone dev - Presentation Transcript
Absolute beginners guide to...
iPhone Development
Barry Ezell
Technology Unconference
USF College of Business
September 26th - Dev Day
September 27th - Media Day
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 Program
http://developer.apple.com/iphone/
Free Test using the simulator, no sales
Test on devices, unlimited sales in
Standard ($99/yr) App Store
Unlimited in-house distribution, no
Enterprise ($299/yr) App Store sales
• OO, strict superset of C, inspired by
Smalltalk messaging
• Any valid C or C++ code works
• You handle memory management
• [object retain];
• [object release];
Messaging
• Objects are passed messages with
descriptive arguments
coyote.hunt(roadRunner,rocketSkates,true);
Resources
• 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
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
One Window, many Views
UIButton
UIImageView
UIProgressView
UILabel
.nib or .xib files
• Normally both called “nibs”
• “Freeze-dried” objects, interface elements,
and relationsips
• Normally single .xib launched at app start
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.*
Device Testing
• 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
Submit to Apple
• Set Release configuration
• Set App Store Signing Identity
• Add artwork (57x57, 512x512 icons)
• Compile and zip with 57x57 icon
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
0 comments
Post a comment