![Page 1: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/1.jpg)
Welcome to CS193PiPhone Application Development
Alan [email protected]
Josh [email protected]
1Tuesday, January 5, 2010
![Page 2: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/2.jpg)
Introductions
• Lecturers■ Alan Cannistraro <[email protected]>■ Josh Shaffer <[email protected]>
• Student TAs■ Paul Salzman <[email protected]>■ David Jacobs <[email protected]>
• Grand-Master Chief■ Paul Marcos <[email protected]>
2Tuesday, January 5, 2010
![Page 3: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/3.jpg)
Quick Survey
3Tuesday, January 5, 2010
![Page 4: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/4.jpg)
Quick Survey• Have worked with Object Oriented Programming??
3Tuesday, January 5, 2010
![Page 5: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/5.jpg)
Quick Survey• Have worked with Object Oriented Programming??• Have developed apps for Mac OS X?
3Tuesday, January 5, 2010
![Page 6: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/6.jpg)
Quick Survey• Have worked with Object Oriented Programming??• Have developed apps for Mac OS X?• Have installed the iPhone SDK and done iPhone
development?
3Tuesday, January 5, 2010
![Page 7: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/7.jpg)
Quick Survey• Have worked with Object Oriented Programming??• Have developed apps for Mac OS X?• Have installed the iPhone SDK and done iPhone
development?• Have submitted apps to the App Store?
3Tuesday, January 5, 2010
![Page 8: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/8.jpg)
Logistics
4Tuesday, January 5, 2010
![Page 9: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/9.jpg)
Logistics• Lectures:
■ Education 128■ Tuesday & Thursday 4:15 - 5:30 PM
4Tuesday, January 5, 2010
![Page 10: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/10.jpg)
Logistics• Lectures:
■ Education 128■ Tuesday & Thursday 4:15 - 5:30 PM
• Optional Section■ Room & Time - TBD■ Guest speakers & hot topics
4Tuesday, January 5, 2010
![Page 11: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/11.jpg)
Logistics• Lectures:
■ Education 128■ Tuesday & Thursday 4:15 - 5:30 PM
• Optional Section■ Room & Time - TBD■ Guest speakers & hot topics
• Office Hours■ Paul & David will hold office hours■ See website for details
4Tuesday, January 5, 2010
![Page 12: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/12.jpg)
Requirements• Prerequisite: CS 106B/X
• Recommended Book: None! We’ll use Apple documentation
• Required Hardware & Software:■ Intel-based Macintosh, running Mac OS X 10.5 Leopard■ iPhone SDK (not currently available on cluster computers)
• iPhone or iPod touch is not required■ Assignments may be completed using the iPhone Simulator■ Loaner iPod touches will be available
5Tuesday, January 5, 2010
![Page 13: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/13.jpg)
Enrollment
6Tuesday, January 5, 2010
![Page 14: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/14.jpg)
Enrollment• Response has been phenomenal (again)!
■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit
6Tuesday, January 5, 2010
![Page 15: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/15.jpg)
Enrollment• Response has been phenomenal (again)!
■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit
6Tuesday, January 5, 2010
![Page 16: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/16.jpg)
Enrollment• Response has been phenomenal (again)!
■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit
• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)
6Tuesday, January 5, 2010
![Page 17: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/17.jpg)
Enrollment• Response has been phenomenal (again)!
■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit
• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)
6Tuesday, January 5, 2010
![Page 18: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/18.jpg)
Enrollment• Response has been phenomenal (again)!
■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit
• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)
• Enrollment will be determined based on prior CS courses, other relevant experience, number of quarters remaining, major
6Tuesday, January 5, 2010
![Page 19: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/19.jpg)
Enrollment• Response has been phenomenal (again)!
■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit
• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)
• Enrollment will be determined based on prior CS courses, other relevant experience, number of quarters remaining, major
6Tuesday, January 5, 2010
![Page 20: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/20.jpg)
Enrollment• Response has been phenomenal (again)!
■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit
• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)
• Enrollment will be determined based on prior CS courses, other relevant experience, number of quarters remaining, major
• Auditors welcome!
6Tuesday, January 5, 2010
![Page 21: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/21.jpg)
iPhone Developer University Program• Stanford is part of the iPhone Developer University Program
■ Do not sign up for this!
• Free on-device development for students (save $99!)■ Valid through the end of the quarter■ Invites will be issued to your @stanford.edu email address■ Read through a Student Agreement to get started
7Tuesday, January 5, 2010
![Page 22: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/22.jpg)
Available on iTunes U
8Tuesday, January 5, 2010
![Page 23: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/23.jpg)
CS193P on iTunes U
For enrolled students at Stanford■ Your voice may be recorded■ Not a substitute for attending lectures■ There will be a delay of a few days before lectures and materials
are available
9Tuesday, January 5, 2010
![Page 24: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/24.jpg)
CS193P on iTunes U
For viewers on iTunes U:■ Welcome to Stanford!■ Feedback and suggestions are welcome■ We can’t answer individual questions via email■ Download materials now, if you want them later!
10Tuesday, January 5, 2010
![Page 25: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/25.jpg)
Communication and Materials• Email
■ [email protected]■ Questions from enrolled students only, please!
• Course web site■ http://cs193p.stanford.edu
• Other web sites■ Apple Dev Center: http://developer.apple.com■ Developer Forums: http://devforums.apple.com■ External resources:
■ http://cs193p.com■ http://groups.google.com/group/iphone-appdev-auditors/
11Tuesday, January 5, 2010
![Page 26: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/26.jpg)
Communication and Materials• Auditors
■ [email protected]■ Self-add email list■ Low volume, but allows us to communicate with all folks
following along■ To sign up, go to:
■ http://lists.stanford.edu■ https://mailman.stanford.edu/mailman/listinfo/cs193p-auditors
12Tuesday, January 5, 2010
![Page 27: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/27.jpg)
Why Are We Here?
To build iPhone & iPod touch applications using Cocoa Touch
13Tuesday, January 5, 2010
![Page 28: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/28.jpg)
Why Are We Here?• CS193P is not just about the iPhone, Cocoa Touch or ObjC
• It’s about Software Engineering, as well as object oriented architecture and design
• Exposure to problems and solutions that you might not see in other classes
14Tuesday, January 5, 2010
![Page 29: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/29.jpg)
Cocoa Touch & iPhone SDK
15Tuesday, January 5, 2010
![Page 30: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/30.jpg)
Cocoa Touch & iPhone SDK• Based on Cocoa
■ Mature, polished, highly consistent APIs
• Provides a very rich starting point for exploring app design
• Shows “real-world” implementations of OO design patterns
• Designs learned on iPhone translate directly to Mac OS X
15Tuesday, January 5, 2010
![Page 31: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/31.jpg)
Things We’ll Cover
16Tuesday, January 5, 2010
![Page 32: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/32.jpg)
Tools
Language (& Runtime)
Frameworks
17Tuesday, January 5, 2010
![Page 33: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/33.jpg)
Xcode Interface BuilderTools
Language (& Runtime)
Frameworks
17Tuesday, January 5, 2010
![Page 34: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/34.jpg)
Xcode Interface BuilderTools
Language (& Runtime)
Frameworks
Foundation UIKit
17Tuesday, January 5, 2010
![Page 35: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/35.jpg)
Xcode Interface BuilderTools
Language (& Runtime) Objective-C
[textView setStringValue: @“Hello”];
Frameworks
Foundation UIKit
17Tuesday, January 5, 2010
![Page 36: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/36.jpg)
Why Objective-C?• Exposure to other languages is always good• ObjC is a language focused on simplicity and the elegance of
OO design■ Based on ANSI C■ Brings many object oriented principles, but with a minimal
amount of syntax
• A data point to compare with designs of C, C++ and Java
18Tuesday, January 5, 2010
![Page 37: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/37.jpg)
Assignments, Grading & Late Policy• 7 weekly assignments• Final project of your choice
■ End of quarter demos at Apple...
• Grading: Nice & simple: ✓, ✓+ and ✓-• Late Policy: 3 late days, use them wisely!
19Tuesday, January 5, 2010
![Page 38: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/38.jpg)
Applications You Will Build
HelloStanford & Obj-C Tool
HelloPoly - 2 weeks
Paparazzi - 4 weeks
Final Project (your choice) - 3 weeks
20Tuesday, January 5, 2010
![Page 39: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/39.jpg)
First Assignment• First assignment handed out today, in two parts• Intended to get you situated with tools and start off with Obj-C• Includes a comprehensive walkthrough• We suggest trying to do the first half before Thursday to help
work out any tools or installation issues• Due on Jan 13 (next Wednesday)
21Tuesday, January 5, 2010
![Page 40: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/40.jpg)
Paparazzi• Build a fully functional application from scratch over 4 weeks
• Access photos on
• Each assignment builds on the previous one■ Don’t fall behind!
• Covers a wide variety of topics in the UIKit framework...
22Tuesday, January 5, 2010
![Page 41: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/41.jpg)
What We’ll Cover• Application design patterns• View controllers• Presenting data
■ Table views
• Loading & saving data■ Property lists, Core Data, web services
• Text input• Threading and Performance• Address Book and other system integration• iPhone SDK 3.0 stuff!
■ MapKit, Video & Photo APIs, & more
23Tuesday, January 5, 2010
![Page 42: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/42.jpg)
Final Projects• 3 weeks to work on them• By yourself or with a partner• It’s never too early to think of something and propose it to us• Categories to consider:
■ Student life apps■ Educational tools■ Games■ Social / location-aware software
• Find a project that you or your friends would actually like to use!
• Post it on the app store? • http://www.stanfordiphoneclassapps.com
24Tuesday, January 5, 2010
![Page 43: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/43.jpg)
Questions?
25Tuesday, January 5, 2010
![Page 44: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/44.jpg)
iPhone OS Overview
26Tuesday, January 5, 2010
![Page 45: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/45.jpg)
iPhone
27Tuesday, January 5, 2010
![Page 46: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/46.jpg)
Mac OS X
27Tuesday, January 5, 2010
![Page 47: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/47.jpg)
Media
Core Services
Core OS
Cocoa
Mac OS X
27Tuesday, January 5, 2010
![Page 48: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/48.jpg)
Media
Core Services
Core OS
Cocoa
27Tuesday, January 5, 2010
![Page 49: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/49.jpg)
Media
Core Services
Core OS
Cocoa Touch
27Tuesday, January 5, 2010
![Page 50: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/50.jpg)
Media
Core Services
Core OS
Cocoa Touch
iPhone OS
27Tuesday, January 5, 2010
![Page 51: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/51.jpg)
Media
Core Services
Core OS
Cocoa Touch
iPhone OS
28Tuesday, January 5, 2010
![Page 52: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/52.jpg)
Media
Core Services
Core OS
Cocoa Touch
iPhone OS Core OS
OS X Kernel Power Mgmt
Mach 3.0 Keychain
BSD Certificates
Sockets File System
Security Bonjour
28Tuesday, January 5, 2010
![Page 53: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/53.jpg)
Core Services
Collections Core Location
Address Book Net Services
Networking Threading
File Access Preferences
SQLite URL utilities
Media
Core Services
Core OS
Cocoa Touch
iPhone OS
28Tuesday, January 5, 2010
![Page 54: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/54.jpg)
Media
Core Audio JPG, PNG, TIFF
OpenAL PDF
Audio Mixing Quartz (2D)
Audio Recording Core Animation
Video Playback OpenGL ES
Media
Core Services
Core OS
Cocoa Touch
iPhone OS
28Tuesday, January 5, 2010
![Page 55: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/55.jpg)
Cocoa Touch
Multi-Touch Events Alerts
Multi-Touch Controls Web View
Accelerometer People Picker
View Hierarchy Image Picker
Localization Camera
Media
Core Services
Core OS
Cocoa Touch
iPhone OS
28Tuesday, January 5, 2010
![Page 56: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/56.jpg)
Media
Core Services
Core OS
Cocoa Touch
iPhone OS
28Tuesday, January 5, 2010
![Page 57: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/57.jpg)
Xcode Interface BuilderTools
Language (& Runtime) Objective-C
[textView setStringValue: @“Hello”];
Frameworks
Foundation UIKit
29Tuesday, January 5, 2010
![Page 58: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/58.jpg)
Cocoa Touch Architecture
Cocoa Touch
UIKit User interface elementsApplication runtimeEvent handlingHardware APIs
Foundation Utility classesCollection classesObject wrappers for system servicesSubset of Foundation in Cocoa
30Tuesday, January 5, 2010
![Page 59: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/59.jpg)
Objects
31Tuesday, January 5, 2010
![Page 60: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/60.jpg)
Thing
Object
32Tuesday, January 5, 2010
![Page 61: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/61.jpg)
Thing
doSomething
Behavior
behavior
33Tuesday, January 5, 2010
![Page 62: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/62.jpg)
Thing
doSomething
Message
"doSomething"
34Tuesday, January 5, 2010
![Page 63: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/63.jpg)
Thingflagcount
doSomething
State
state
behavior
35Tuesday, January 5, 2010
![Page 64: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/64.jpg)
Thingflagcount
doSomething
Other Objects As State
state
behavior
36Tuesday, January 5, 2010
![Page 65: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/65.jpg)
Thingflagcount
doSomething
Other Objects As State
state
doSomethingElsebehavior
36Tuesday, January 5, 2010
![Page 66: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/66.jpg)
Thingflagcount
doSomething
Other Objects As State
helperstate
doSomethingElsebehavior
36Tuesday, January 5, 2010
![Page 67: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/67.jpg)
Thingflagcount
doSomething
Other Objects As State
helperstate
doSomethingElse
Other Thing
performDifficultTask
behavior
36Tuesday, January 5, 2010
![Page 68: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/68.jpg)
Controllersliderlabel
updateLabel
Outlets Need to decide what the demo would be and update slide to appropriate material.
- text field / slider?
- color tabs?
Need to decide what the demo would be and update slide to appropriate material.
- text field / slider?
- color tabs?
37Tuesday, January 5, 2010
![Page 69: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/69.jpg)
Controllersliderlabel
updateLabel
Target / Action
targetaction ʻupdateLabelʼ
38Tuesday, January 5, 2010
![Page 70: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/70.jpg)
Demo
39Tuesday, January 5, 2010
![Page 71: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/71.jpg)
Outlets
Controllersliderlabel
updateLabel
40Tuesday, January 5, 2010
![Page 72: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/72.jpg)
Target / Action
Controllersliderlabel
updateLabel
targetaction ʻupdateLabelʼ
41Tuesday, January 5, 2010
![Page 73: Welcome to CS193P - Stanford University · Welcome to CS193P iPhone Application Development Alan Cannistraro accannis@stanford.edu Josh Shaffer joshh@stanford.edu Tuesday, January](https://reader036.vdocuments.net/reader036/viewer/2022062919/5f01bd387e708231d400cd8b/html5/thumbnails/73.jpg)
Questions?
42Tuesday, January 5, 2010