SlideShare a Scribd company logo
1 of 18
Introduction to
iOS Development
Resources
•   http://developer.apple.com/iOS
•   iPhone Programming, The Big Nerd Ranch Guide
•   Joe Conway & Aaron Hillegass
•   Programming in Objective-C
•   Kochan
•   http://www.raywenderlich.com Excellent iOS5 tutorials!
•   Stanford - free iOS lectures. Worth the time to watch!
Prerequisites for iOS
Development
• Previous experience in another Object Oriented
  Programming(OOP) language will be helpful
• Understanding of OOP concepts.
• Some understanding of C can be helpful, but is not required.
  Objective-C builds on top of C. You will eventually run into
  pointers and other fundamental “C” features
• Previous experience with an Integrated Development
  Environment (IDE) is helpful, but not required
• Mac computer running OS X Lion
• If you plan to submit to the App Store, you will need Apple
  devices to do real testing on. The simulator is not good
  enough.
Introduction
• iOS is the operating system that runs iPhones, iPod
  Touches,iPads, and Apple TVs.
• The language used to develop software for iOS is
  Objective-C.
• This class will teach you how to get started but will not
  havetime to teach you everything.
What is iOS?
• iOS is an operating system – it’s a subset of Mac OS X.
• The iOS SDK is the software development kit that allows
  application programs to utilize classes and frameworks
  provided by the SDK. This class will focus on iOS
  SDK6.
• iOS is multitasking and runs on several different
  devices(iPhones, iPod Touches, iPads, and Apple TVs).
• Apple provides an IDE called Xcode.
• Xcode is the IDE used by iOS (and OS X) developers.
• Xcode provides an interface to the compiler, editor,
  debugger, and code profiling tools.
Device Features
• For the rest of the presentation, assume we are discussing
  iPhones, iPads, and iPod Touches. Although Apple TV runs
  iOS, Apple currently does not allow developers to create
  custom code for this device (yet).
• SQLite for structured data storage
• Media support for common audio, video, and still image
  formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
• GSM Telephony (hardware dependent)
• Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
• Camera, GPS, compass, and accelerometer (hardware
  dependent)
• Rich development environment, including a device simulator,
  tools for debugging, memory and performance profiling
Capabilities of Mobile
Devices
Internet access
• Touch screen
• GPS (global positioning system – satellite-based system
  todetermine a location)
• Local storage
• Camera
• Media playback
• Phone
• Bluetooth for device communication
Limitation of Mobile Devices
• Screen size
• Touch screen
• No physical keyboard or trackball – a finger or stylus is
  the primary interface to the device
• Memory
• Storage
• Battery Life
• Cell network
• Sometimes flaky networks
• Ergonomics
Download the iOS SDK
• Download the latest from the Apple App store
• This is only available for Apple Macintosh computers
• It’s free
• To build to device and submit to the app store, you will
  berequired to becomes a register Apple iOS developer
• It is $99 year for the basic account
The Xcode – Integrated
Development Environment

• This consists of a single-window user interface,
  consisting of the Project Window, Jump and Navigation
  Bars, and the newly integrated Interface Builder designer.
Features of the iPhone
  Simulator
• The"iPhone Simulator",
  simulates various features of a
  real iOS device. Although the
  iPhone simulator is just a
  simulator to simulate certain
  tasks, it does come with some
  limitations.
Simulator Limitations
•   Making Phone calls
•   Accessing the Accelerometer/Gyroscope
•   Sending and Receiving SMS messages
•   Installing applications from the App Store
•   Accessibility to the Camera
•   Use of the Microphone
•   Several Core OpenGL ES Features
Instruments
• The Xcode instruments allow you to dynamically trace
  and profile the performance of your Mac OSX, iPhone,
  and iPad applications. You can also create your own
  Instruments using DTrace and the Instruments custom
  builder.
• Monitor your applications for memory leaks, which can
  cause unexpected results.
• Gain a deeper understanding of the execution behavior of
  your applications.
Quick Terminology: MVC
• Model-View-Controller (MVC)
• MVC is the paradigm of iOS programming
• Model: Hold data, should know nothing of the interface
• View: code for getting data in/out of a view. Deals with
  items like buttons, lists, tables, etc
• Controller: keeps the Model objects and View objects in
  sync

More Related Content

What's hot

Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSWAAM Tech
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application developmentChandan Maurya
 
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...Edureka!
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Top 11 Mobile App Development Frameworks
Top 11 Mobile App Development FrameworksTop 11 Mobile App Development Frameworks
Top 11 Mobile App Development FrameworksAlbiorix Technology
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android pptTaha Malampatti
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...ReformedTech
 
androidstudio.pptx
androidstudio.pptxandroidstudio.pptx
androidstudio.pptxSundaresanB5
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)dwipalp
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Manoj Ellappan
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing StrategyankitQA
 

What's hot (20)

Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Android studio installation
Android studio installationAndroid studio installation
Android studio installation
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application development
 
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
 
iOS Operating System
iOS Operating SystemiOS Operating System
iOS Operating System
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Top 11 Mobile App Development Frameworks
Top 11 Mobile App Development FrameworksTop 11 Mobile App Development Frameworks
Top 11 Mobile App Development Frameworks
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android ppt
 
Visual studio
Visual studioVisual studio
Visual studio
 
Apple iOS
Apple iOSApple iOS
Apple iOS
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
 
Android Training
Android TrainingAndroid Training
Android Training
 
Windows Phone PPT
Windows Phone PPTWindows Phone PPT
Windows Phone PPT
 
androidstudio.pptx
androidstudio.pptxandroidstudio.pptx
androidstudio.pptx
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Android Basic Concept
Android Basic Concept Android Basic Concept
Android Basic Concept
 
Android studio ppt
Android studio pptAndroid studio ppt
Android studio ppt
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing Strategy
 

Viewers also liked

Beginning Real World iOS App Development
Beginning Real World iOS App DevelopmentBeginning Real World iOS App Development
Beginning Real World iOS App DevelopmentAndri Yadi
 
ios-mobile-app-development-intro
ios-mobile-app-development-introios-mobile-app-development-intro
ios-mobile-app-development-introRemesh Govind M
 
History of iOS
History of iOSHistory of iOS
History of iOSpyro2927
 
Introduction to MapKit
Introduction to MapKitIntroduction to MapKit
Introduction to MapKitRob C
 
Corso Iphone in 48h (parte 2)
Corso Iphone in 48h (parte 2)Corso Iphone in 48h (parte 2)
Corso Iphone in 48h (parte 2)FLT.lab
 
Corso Iphone in 48h
Corso Iphone in 48hCorso Iphone in 48h
Corso Iphone in 48hFLT.lab
 
iOS Core location
iOS Core locationiOS Core location
iOS Core locationRicha Jain
 
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATIONCONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATIONShreya Chaurasia
 
Ios fundamentals with ObjectiveC
Ios fundamentals with ObjectiveCIos fundamentals with ObjectiveC
Ios fundamentals with ObjectiveCMadusha Perera
 
IOS Swift language 2nd tutorial
IOS Swift language 2nd tutorialIOS Swift language 2nd tutorial
IOS Swift language 2nd tutorialHassan A-j
 
iOS Application Lifecycle
iOS Application LifecycleiOS Application Lifecycle
iOS Application LifecycleSiva Prasad K V
 
COGITO POP Tutorial (iOS)
COGITO POP Tutorial (iOS)COGITO POP Tutorial (iOS)
COGITO POP Tutorial (iOS)Cookoo Tips
 
Extenal aids to construction of Law
Extenal aids to construction of LawExtenal aids to construction of Law
Extenal aids to construction of LawTejas Shah
 
Hello android world
Hello android worldHello android world
Hello android worldeleksdev
 
COGITO Pop Tutorial (Android)
COGITO Pop Tutorial (Android)COGITO Pop Tutorial (Android)
COGITO Pop Tutorial (Android)Cookoo Tips
 

Viewers also liked (20)

Presentation on iOS
Presentation on iOSPresentation on iOS
Presentation on iOS
 
Beginning Real World iOS App Development
Beginning Real World iOS App DevelopmentBeginning Real World iOS App Development
Beginning Real World iOS App Development
 
ios-mobile-app-development-intro
ios-mobile-app-development-introios-mobile-app-development-intro
ios-mobile-app-development-intro
 
History of iOS
History of iOSHistory of iOS
History of iOS
 
Apple iOS Report
Apple iOS ReportApple iOS Report
Apple iOS Report
 
Introduction to MapKit
Introduction to MapKitIntroduction to MapKit
Introduction to MapKit
 
Ios - Introduction to platform & SDK
Ios - Introduction to platform & SDKIos - Introduction to platform & SDK
Ios - Introduction to platform & SDK
 
Corso Iphone in 48h (parte 2)
Corso Iphone in 48h (parte 2)Corso Iphone in 48h (parte 2)
Corso Iphone in 48h (parte 2)
 
Corso Iphone in 48h
Corso Iphone in 48hCorso Iphone in 48h
Corso Iphone in 48h
 
iOS Core location
iOS Core locationiOS Core location
iOS Core location
 
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATIONCONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
 
360 Degree Quality Assurance Solution
360 Degree Quality Assurance Solution360 Degree Quality Assurance Solution
360 Degree Quality Assurance Solution
 
Ios fundamentals with ObjectiveC
Ios fundamentals with ObjectiveCIos fundamentals with ObjectiveC
Ios fundamentals with ObjectiveC
 
IOS Swift language 2nd tutorial
IOS Swift language 2nd tutorialIOS Swift language 2nd tutorial
IOS Swift language 2nd tutorial
 
iOS Application Lifecycle
iOS Application LifecycleiOS Application Lifecycle
iOS Application Lifecycle
 
COGITO POP Tutorial (iOS)
COGITO POP Tutorial (iOS)COGITO POP Tutorial (iOS)
COGITO POP Tutorial (iOS)
 
Extenal aids to construction of Law
Extenal aids to construction of LawExtenal aids to construction of Law
Extenal aids to construction of Law
 
Hello android world
Hello android worldHello android world
Hello android world
 
Developing iOS apps with Swift
Developing iOS apps with SwiftDeveloping iOS apps with Swift
Developing iOS apps with Swift
 
COGITO Pop Tutorial (Android)
COGITO Pop Tutorial (Android)COGITO Pop Tutorial (Android)
COGITO Pop Tutorial (Android)
 

Similar to Introduction to iOS Development

Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentDataArt
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyNick Landry
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.DataArt
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformChristopher Bartling
 
Developing Applications on iOS
Developing Applications on iOSDeveloping Applications on iOS
Developing Applications on iOSFrancisco Ramos
 
20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptxSuman Garai
 
Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology MarketBharat Gera
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerEran Kinsbrunner
 
Ruxmon April 2014 - Introduction to iOS Penetration Testing
Ruxmon April 2014 - Introduction to iOS Penetration TestingRuxmon April 2014 - Introduction to iOS Penetration Testing
Ruxmon April 2014 - Introduction to iOS Penetration Testingeightbit
 
OWASP Melbourne - Introduction to iOS Application Penetration Testing
OWASP Melbourne - Introduction to iOS Application Penetration TestingOWASP Melbourne - Introduction to iOS Application Penetration Testing
OWASP Melbourne - Introduction to iOS Application Penetration Testingeightbit
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for AndroidAlexJReid
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with IonicMaulik Bamania
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notesjaxarcsig
 
MobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxMobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxsanaiftikhar23
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxPoooi2
 

Similar to Introduction to iOS Development (20)

Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET Guy
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer Platform
 
Intro to iOS Development
Intro to iOS DevelopmentIntro to iOS Development
Intro to iOS Development
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 
Developing Applications on iOS
Developing Applications on iOSDeveloping Applications on iOS
Developing Applications on iOS
 
iOS App Development and Marketing
iOS App Development and MarketingiOS App Development and Marketing
iOS App Development and Marketing
 
20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx
 
Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology Market
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbruner
 
Ruxmon April 2014 - Introduction to iOS Penetration Testing
Ruxmon April 2014 - Introduction to iOS Penetration TestingRuxmon April 2014 - Introduction to iOS Penetration Testing
Ruxmon April 2014 - Introduction to iOS Penetration Testing
 
OWASP Melbourne - Introduction to iOS Application Penetration Testing
OWASP Melbourne - Introduction to iOS Application Penetration TestingOWASP Melbourne - Introduction to iOS Application Penetration Testing
OWASP Melbourne - Introduction to iOS Application Penetration Testing
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for Android
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notes
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
MobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxMobApp development 01 application platform.pptx
MobApp development 01 application platform.pptx
 
Ios
IosIos
Ios
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptx
 

More from Asim Rais Siddiqui

Understanding Blockchain Technology
Understanding Blockchain TechnologyUnderstanding Blockchain Technology
Understanding Blockchain TechnologyAsim Rais Siddiqui
 
IoT Development - Opportunities and Challenges
IoT Development - Opportunities and ChallengesIoT Development - Opportunities and Challenges
IoT Development - Opportunities and ChallengesAsim Rais Siddiqui
 
iOS Development (Part 3) - Additional GUI Components
iOS Development (Part 3) - Additional GUI ComponentsiOS Development (Part 3) - Additional GUI Components
iOS Development (Part 3) - Additional GUI ComponentsAsim Rais Siddiqui
 
Coding Standards & Best Practices for iOS/C#
Coding Standards & Best Practices for iOS/C#Coding Standards & Best Practices for iOS/C#
Coding Standards & Best Practices for iOS/C#Asim Rais Siddiqui
 

More from Asim Rais Siddiqui (8)

Understanding Blockchain Technology
Understanding Blockchain TechnologyUnderstanding Blockchain Technology
Understanding Blockchain Technology
 
IoT Development - Opportunities and Challenges
IoT Development - Opportunities and ChallengesIoT Development - Opportunities and Challenges
IoT Development - Opportunities and Challenges
 
iOS Memory Management
iOS Memory ManagementiOS Memory Management
iOS Memory Management
 
iOS Development (Part 3) - Additional GUI Components
iOS Development (Part 3) - Additional GUI ComponentsiOS Development (Part 3) - Additional GUI Components
iOS Development (Part 3) - Additional GUI Components
 
iOS Development (Part 2)
iOS Development (Part 2)iOS Development (Part 2)
iOS Development (Part 2)
 
iOS Development (Part 1)
iOS Development (Part 1)iOS Development (Part 1)
iOS Development (Part 1)
 
Introduction to Objective - C
Introduction to Objective - CIntroduction to Objective - C
Introduction to Objective - C
 
Coding Standards & Best Practices for iOS/C#
Coding Standards & Best Practices for iOS/C#Coding Standards & Best Practices for iOS/C#
Coding Standards & Best Practices for iOS/C#
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Introduction to iOS Development

  • 2. Resources • http://developer.apple.com/iOS • iPhone Programming, The Big Nerd Ranch Guide • Joe Conway & Aaron Hillegass • Programming in Objective-C • Kochan • http://www.raywenderlich.com Excellent iOS5 tutorials! • Stanford - free iOS lectures. Worth the time to watch!
  • 3. Prerequisites for iOS Development • Previous experience in another Object Oriented Programming(OOP) language will be helpful • Understanding of OOP concepts. • Some understanding of C can be helpful, but is not required. Objective-C builds on top of C. You will eventually run into pointers and other fundamental “C” features • Previous experience with an Integrated Development Environment (IDE) is helpful, but not required • Mac computer running OS X Lion • If you plan to submit to the App Store, you will need Apple devices to do real testing on. The simulator is not good enough.
  • 4. Introduction • iOS is the operating system that runs iPhones, iPod Touches,iPads, and Apple TVs. • The language used to develop software for iOS is Objective-C. • This class will teach you how to get started but will not havetime to teach you everything.
  • 5. What is iOS? • iOS is an operating system – it’s a subset of Mac OS X. • The iOS SDK is the software development kit that allows application programs to utilize classes and frameworks provided by the SDK. This class will focus on iOS SDK6. • iOS is multitasking and runs on several different devices(iPhones, iPod Touches, iPads, and Apple TVs). • Apple provides an IDE called Xcode. • Xcode is the IDE used by iOS (and OS X) developers. • Xcode provides an interface to the compiler, editor, debugger, and code profiling tools.
  • 6.
  • 7. Device Features • For the rest of the presentation, assume we are discussing iPhones, iPads, and iPod Touches. Although Apple TV runs iOS, Apple currently does not allow developers to create custom code for this device (yet). • SQLite for structured data storage • Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) • GSM Telephony (hardware dependent) • Bluetooth, EDGE, 3G, and WiFi (hardware dependent) • Camera, GPS, compass, and accelerometer (hardware dependent) • Rich development environment, including a device simulator, tools for debugging, memory and performance profiling
  • 8. Capabilities of Mobile Devices Internet access • Touch screen • GPS (global positioning system – satellite-based system todetermine a location) • Local storage • Camera • Media playback • Phone • Bluetooth for device communication
  • 9. Limitation of Mobile Devices • Screen size • Touch screen • No physical keyboard or trackball – a finger or stylus is the primary interface to the device • Memory • Storage • Battery Life • Cell network • Sometimes flaky networks • Ergonomics
  • 10. Download the iOS SDK • Download the latest from the Apple App store • This is only available for Apple Macintosh computers • It’s free • To build to device and submit to the app store, you will berequired to becomes a register Apple iOS developer • It is $99 year for the basic account
  • 11.
  • 12. The Xcode – Integrated Development Environment • This consists of a single-window user interface, consisting of the Project Window, Jump and Navigation Bars, and the newly integrated Interface Builder designer.
  • 13.
  • 14. Features of the iPhone Simulator • The"iPhone Simulator", simulates various features of a real iOS device. Although the iPhone simulator is just a simulator to simulate certain tasks, it does come with some limitations.
  • 15. Simulator Limitations • Making Phone calls • Accessing the Accelerometer/Gyroscope • Sending and Receiving SMS messages • Installing applications from the App Store • Accessibility to the Camera • Use of the Microphone • Several Core OpenGL ES Features
  • 16. Instruments • The Xcode instruments allow you to dynamically trace and profile the performance of your Mac OSX, iPhone, and iPad applications. You can also create your own Instruments using DTrace and the Instruments custom builder. • Monitor your applications for memory leaks, which can cause unexpected results. • Gain a deeper understanding of the execution behavior of your applications.
  • 17.
  • 18. Quick Terminology: MVC • Model-View-Controller (MVC) • MVC is the paradigm of iOS programming • Model: Hold data, should know nothing of the interface • View: code for getting data in/out of a view. Deals with items like buttons, lists, tables, etc • Controller: keeps the Model objects and View objects in sync