Date post: | 14-Jan-2015 |
Category: |
Technology |
Upload: | barry-ezell |
View: | 5,848 times |
Download: | 1 times |
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