Absolute Beginners Guide to iPhone dev

Post on 14-Jan-2015

5.849 views 1 download

Tags:

description

Slides for presentation given by Barry Ezell to the Suncoast iPhone App Developer's Meetup for August 2000.

Transcript of Absolute Beginners Guide to iPhone dev

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