+ All Categories
Home > Technology > iPhone Development: Zero to Sixty

iPhone Development: Zero to Sixty

Date post: 14-Jan-2015
Category:
Upload: thomas-swift
View: 2,923 times
Download: 2 times
Share this document with a friend
Description:
A Presentation I did for Northwest Of US Mac User Group - Programmers Special Interest Group on Thursday October 2, 2008. Get in touch if you like it or even if you hate it!
Popular Tags:
36
iPhone Development Zero to Sixty Tom Swift 1821 Design
Transcript
Page 1: iPhone Development: Zero to Sixty

iPhone Development

Zero to Sixty

Tom Swift1821 Design

Page 2: iPhone Development: Zero to Sixty

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)

Page 3: iPhone Development: Zero to Sixty

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 *

Page 4: iPhone Development: Zero to Sixty

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

Page 5: iPhone Development: Zero to Sixty

Learning Objective-C or: How I Learned to Stop Worrying and Love the Bracket

Page 6: iPhone Development: Zero to Sixty

Objective-CThings 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

Page 7: iPhone Development: Zero to Sixty

Where I startedApple Sample Code

• Apple Sample Code is like an old BMW M5

Page 8: iPhone Development: Zero to Sixty

Which M5 - E60 M5 ?

Page 9: iPhone Development: Zero to Sixty

Which M5 – E36 M5?

Page 10: iPhone Development: Zero to Sixty

Nope: the E34 M5

Page 11: iPhone Development: Zero to Sixty

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

Page 12: iPhone Development: Zero to Sixty

Good Apple Samples• LocateMe

• CoreLocation• Delegates

• SpeakHere• AudioToolbox• AudioQueue

• AccelerometerGraph• SeismicXML

• Pulling from the web• Reachability

• Wifi, Cell Network • Many More

Page 13: iPhone Development: Zero to Sixty

Learning From Them• Remove the 50 pages of comments from each file• Start from the top

• main.m• <APP>AppDelegate.h .m

Page 14: iPhone Development: Zero to Sixty

Xcode is slick• Research Assistant• Code completion

• press esc• Breakpoints & GDB• Documentation• Code Folding• Instruments

Page 15: iPhone Development: Zero to Sixty

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

Page 16: iPhone Development: Zero to Sixty

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)

Page 17: iPhone Development: Zero to Sixty

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

Page 18: iPhone Development: Zero to Sixty

Developer Certificate

Page 19: iPhone Development: Zero to Sixty

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

Page 20: iPhone Development: Zero to Sixty

Program Portal

Page 21: iPhone Development: Zero to Sixty

Team

Page 22: iPhone Development: Zero to Sixty

Certificates

Page 23: iPhone Development: Zero to Sixty

Devices

Page 24: iPhone Development: Zero to Sixty

App IDs

Page 25: iPhone Development: Zero to Sixty

Struggle

Page 26: iPhone Development: Zero to Sixty

Provisioning Profile

Page 27: iPhone Development: Zero to Sixty

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

Page 28: iPhone Development: Zero to Sixty

Build?• Not Yet – Error 0xE8000001• Change Build Settings and info.plist

Page 29: iPhone Development: Zero to Sixty

2nd Most Important Slide

Page 30: iPhone Development: Zero to Sixty

Right Click Blue IconGet InfoClick on Build Tab

Build Settings

Page 31: iPhone Development: Zero to Sixty
Page 32: iPhone Development: Zero to Sixty

YES!!!

Page 33: iPhone Development: Zero to Sixty

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

Page 34: iPhone Development: Zero to Sixty

* App Store• First off, It’s awesome

• But,• REVIEWS • Loose Guidelines• NDA’d Rejections• Sea of pointless apps *• No Trials• Cheap People

Page 35: iPhone Development: Zero to Sixty

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

Page 36: iPhone Development: Zero to Sixty

Enough Blab Let’s build something!

Thomas Swift1821 Design

Slides: http://www.slideshare.net/1821Design/


Recommended