SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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
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];
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
Let’s Code

• Finally!
• TweetCount
• XCode > New Project > Utility Application
One Window, many Views



UITableView
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

Contenu connexe

Similaire à Absolute Beginners Guide to iPhone dev

iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1huyzing
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhoneMike Qaissaunee
 
iPhone Development For .Net Dev
iPhone Development For .Net DeviPhone Development For .Net Dev
iPhone Development For .Net DevAlex Hung
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
SmartPhone Design and Delivery
SmartPhone Design and DeliverySmartPhone Design and Delivery
SmartPhone Design and DeliveryJason Diehl
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRaymond Camden
 
2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648Eing Ong
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyThomas Swift
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstRaymond Camden
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS DevelopmentAsim Rais Siddiqui
 
I Phone Developer Introduction By Eschipul
I Phone Developer Introduction By EschipulI Phone Developer Introduction By Eschipul
I Phone Developer Introduction By EschipulEd Schipul
 
iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11
iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11
iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11MobileMonday Estonia
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
 
Ubiquitous Content Symposium 2009
Ubiquitous Content Symposium 2009Ubiquitous Content Symposium 2009
Ubiquitous Content Symposium 2009Shigeru Kobayashi
 

Similaire à Absolute Beginners Guide to iPhone dev (20)

iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
 
Iphone Dev
Iphone DevIphone Dev
Iphone Dev
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhone
 
iPhone Development For .Net Dev
iPhone Development For .Net DeviPhone Development For .Net Dev
iPhone Development For .Net Dev
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Titanium Mobile Intro
Titanium Mobile IntroTitanium Mobile Intro
Titanium Mobile Intro
 
SmartPhone Design and Delivery
SmartPhone Design and DeliverySmartPhone Design and Delivery
SmartPhone Design and Delivery
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
The future is hybrid
The future is hybridThe future is hybrid
The future is hybrid
 
2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to Sixty
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 
C# everywhere
C# everywhereC# everywhere
C# everywhere
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS Development
 
I Phone Developer Introduction By Eschipul
I Phone Developer Introduction By EschipulI Phone Developer Introduction By Eschipul
I Phone Developer Introduction By Eschipul
 
iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11
iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11
iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
 
Ubiquitous Content Symposium 2009
Ubiquitous Content Symposium 2009Ubiquitous Content Symposium 2009
Ubiquitous Content Symposium 2009
 

Dernier

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Dernier (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Absolute Beginners Guide to iPhone dev

  • 1. Absolute beginners guide to... iPhone Development Barry Ezell
  • 2.
  • 3. Technology Unconference USF College of Business September 26th - Dev Day September 27th - Media Day http://barcamptampabay.com
  • 4. • Intro to the Intro • What you need: Hardware • What you need: Software • What you need: Wetware • Code! • Submit
  • 5. All about me • Ruby, C#, Erlang • iPhone beginning 3/2009 • One app in store (SuccessIts) • One submitted (Bookmark, bookmarkapp.com) • Several in works
  • 6. 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
  • 7. Pros • Controlled, predictable platform • 320x480 px • Good documentation • Apple handles sales
  • 8. 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
  • 9. WYN: Hardware • Intel-based Mac running Leopard or S.L. • iPhone / iPod Touch
  • 11. 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
  • 12. 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
  • 13. WYN: Wetware • Learn Objective-C • Learn Cocoa Touch, Frameworks
  • 15. • OO, strict superset of C, inspired by Smalltalk messaging • Any valid C or C++ code works • You handle memory management • [object retain]; • [object release];
  • 16. Messaging • Objects are passed messages with descriptive arguments coyote.hunt(roadRunner,rocketSkates,true);
  • 17. 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
  • 18. Cocoa Touch • Desktop Cocoa adapted for the iPhone • Frameworks: • UIKit (touch, windowing, accelerometer) • CoreGraphics (Quartz, PDF, animation) • CoreLocation (GPS) • MediaPlayer (iPod) • Many more
  • 19. Resources • Pragmatic Programmer: iPhone SDK Development by Bill Dudney • iPhone Developer’s Cookbook by Erica Sadun • Interwebs: iphonedevsdk.com, Apple forums, Google
  • 20. Let’s Code • Finally! • TweetCount • XCode > New Project > Utility Application
  • 21. One Window, many Views UITableView
  • 22. One Window, many Views UIButton UIImageView UIProgressView UILabel
  • 23. .nib or .xib files • Normally both called “nibs” • “Freeze-dried” objects, interface elements, and relationsips • Normally single .xib launched at app start
  • 24. IBOutlet & IBAction • IBOutlets allow getting and setting properties on objects in IB • IBActions allow objects to receive events like touches or value changes
  • 25. Test on Devices • Simulator != iPhone • Get Provisioning Profiles and Development Certificates on iPhone Dev Portal • Make life easier with wildcard naming: com.barryezell.*
  • 26.
  • 27. 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
  • 28. Submit to Apple • Set Release configuration • Set App Store Signing Identity • Add artwork (57x57, 512x512 icons) • Compile and zip with 57x57 icon
  • 29. Upload to iTunes Connect
  • 30. Tips while waiting on Apple • Avoid cracks in sidewalk • Ditto walking under ladders • Try to forget you ever invested all that time
  • 31. Resource of Resources • http://theappleblog.com/2009/06/01/43- iphone-development-resources