SlideShare a Scribd company logo
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.
Introduction to iOS Development
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
Introduction to iOS Development
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.
Introduction to iOS Development
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.
Introduction to iOS Development
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
Ad

More Related Content

What's hot (20)

iOS I phone operating system
iOS I phone operating system iOS I phone operating system
iOS I phone operating system
Hùssâîn Mîrzã
 
Introduction to ios
Introduction to iosIntroduction to ios
Introduction to ios
Swapnali Pawar
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner Guide
Andri Yadi
 
Flutter UI Framework
Flutter UI FrameworkFlutter UI Framework
Flutter UI Framework
Yuliia Makarenko
 
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
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
Palani Kumar
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Paul Sons
 
Ios operating system
Ios operating systemIos operating system
Ios operating system
TIB Academy
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
zeelpatel0504
 
Apple iOS
Apple iOSApple iOS
Apple iOS
Chetan Gowda
 
PPT on iOS
PPT on iOS PPT on iOS
PPT on iOS
Ravi Ranjan
 
CROSS PLATFORM APPLICATIONS DEVELOPMENT
CROSS PLATFORM APPLICATIONS DEVELOPMENT CROSS PLATFORM APPLICATIONS DEVELOPMENT
CROSS PLATFORM APPLICATIONS DEVELOPMENT
Kongu Engineering College, Perundurai, Erode
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
Ranjith Kumar
 
Android Operating System (Androrid OS)
Android Operating System (Androrid OS)Android Operating System (Androrid OS)
Android Operating System (Androrid OS)
Siddharth Belbase
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
Chris Morrell
 
Android Training
Android TrainingAndroid Training
Android Training
Tbldevelopment
 
Desenvolvimento IOS - Mobile
Desenvolvimento IOS - MobileDesenvolvimento IOS - Mobile
Desenvolvimento IOS - Mobile
Wanderlei Silva do Carmo
 
Android app development
Android app developmentAndroid app development
Android app development
Tanmoy Roy
 
Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?
Sura Gonzalez
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
Tharindu Dassanayake
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner Guide
Andri Yadi
 
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
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Paul Sons
 
Ios operating system
Ios operating systemIos operating system
Ios operating system
TIB Academy
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
zeelpatel0504
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
Ranjith Kumar
 
Android Operating System (Androrid OS)
Android Operating System (Androrid OS)Android Operating System (Androrid OS)
Android Operating System (Androrid OS)
Siddharth Belbase
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
Chris Morrell
 
Android app development
Android app developmentAndroid app development
Android app development
Tanmoy Roy
 
Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?
Sura Gonzalez
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
Tharindu Dassanayake
 

Viewers also liked (20)

Presentation on iOS
Presentation on iOSPresentation on iOS
Presentation on iOS
Harry Lovylife
 
Beginning Real World iOS App Development
Beginning Real World iOS App DevelopmentBeginning Real World iOS App Development
Beginning Real World iOS App Development
Andri Yadi
 
iOS Introduction For Very Beginners
iOS Introduction For Very BeginnersiOS Introduction For Very Beginners
iOS Introduction For Very Beginners
Saravanan Vijayakumar
 
ios-mobile-app-development-intro
ios-mobile-app-development-introios-mobile-app-development-intro
ios-mobile-app-development-intro
Remesh Govind M
 
History of iOS
History of iOSHistory of iOS
History of iOS
pyro2927
 
Apple iOS Report
Apple iOS ReportApple iOS Report
Apple iOS Report
Chetan Gowda
 
Introduction to MapKit
Introduction to MapKitIntroduction to MapKit
Introduction to MapKit
Rob C
 
Ios - Introduction to platform & SDK
Ios - Introduction to platform & SDKIos - Introduction to platform & SDK
Ios - Introduction to platform & SDK
Vibrant Technologies & Computers
 
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 48h
FLT.lab
 
iOS Core location
iOS Core locationiOS Core location
iOS Core location
Richa Jain
 
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATIONCONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
Shreya Chaurasia
 
Ios fundamentals with ObjectiveC
Ios fundamentals with ObjectiveCIos fundamentals with ObjectiveC
Ios fundamentals with ObjectiveC
Madusha Perera
 
IOS Swift language 2nd tutorial
IOS Swift language 2nd tutorialIOS Swift language 2nd tutorial
IOS Swift language 2nd tutorial
Hassan A-j
 
iOS Application Lifecycle
iOS Application LifecycleiOS Application Lifecycle
iOS Application Lifecycle
Siva 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 Law
Tejas Shah
 
Hello android world
Hello android worldHello android world
Hello android world
eleksdev
 
Developing iOS apps with Swift
Developing iOS apps with SwiftDeveloping iOS apps with Swift
Developing iOS apps with Swift
New Generation Applications
 
Beginning Real World iOS App Development
Beginning Real World iOS App DevelopmentBeginning Real World iOS App Development
Beginning Real World iOS App Development
Andri Yadi
 
ios-mobile-app-development-intro
ios-mobile-app-development-introios-mobile-app-development-intro
ios-mobile-app-development-intro
Remesh Govind M
 
History of iOS
History of iOSHistory of iOS
History of iOS
pyro2927
 
Introduction to MapKit
Introduction to MapKitIntroduction to MapKit
Introduction to MapKit
Rob 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 48h
FLT.lab
 
iOS Core location
iOS Core locationiOS Core location
iOS Core location
Richa Jain
 
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATIONCONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
CONTEMPORNEA EXPOSITIO EXTERNAL AID TO INTERPRETATION
Shreya Chaurasia
 
Ios fundamentals with ObjectiveC
Ios fundamentals with ObjectiveCIos fundamentals with ObjectiveC
Ios fundamentals with ObjectiveC
Madusha Perera
 
IOS Swift language 2nd tutorial
IOS Swift language 2nd tutorialIOS Swift language 2nd tutorial
IOS Swift language 2nd tutorial
Hassan A-j
 
iOS Application Lifecycle
iOS Application LifecycleiOS Application Lifecycle
iOS Application Lifecycle
Siva 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 Law
Tejas Shah
 
Hello android world
Hello android worldHello android world
Hello android world
eleksdev
 
Ad

Similar to Introduction to iOS Development (20)

Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
DataArt
 
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
Nick 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 Platform
Christopher Bartling
 
Intro to iOS Development
Intro to iOS DevelopmentIntro to iOS Development
Intro to iOS Development
Jamal Sinclair O'Garro
 
Native iOS Development | Build High-Performance iPhone App
Native iOS Development | Build High-Performance iPhone AppNative iOS Development | Build High-Performance iPhone App
Native iOS Development | Build High-Performance iPhone App
Digital Hub Solution
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
Craig Dunn
 
Developing Applications on iOS
Developing Applications on iOSDeveloping Applications on iOS
Developing Applications on iOS
Francisco Ramos
 
iOS App Development and Marketing
iOS App Development and MarketingiOS App Development and Marketing
iOS App Development and Marketing
Changwon National University
 
20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx
Suman Garai
 
Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology Market
Bharat Gera
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)
dwipalp
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbruner
Eran 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 Testing
eightbit
 
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
eightbit
 
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
AlexJReid
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notes
jaxarcsig
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
Wan Muzaffar Wan Hashim
 
MobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxMobApp development 01 application platform.pptx
MobApp development 01 application platform.pptx
sanaiftikhar23
 
Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
DataArt
 
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
Nick 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 Platform
Christopher Bartling
 
Native iOS Development | Build High-Performance iPhone App
Native iOS Development | Build High-Performance iPhone AppNative iOS Development | Build High-Performance iPhone App
Native iOS Development | Build High-Performance iPhone App
Digital Hub Solution
 
Developing Applications on iOS
Developing Applications on iOSDeveloping Applications on iOS
Developing Applications on iOS
Francisco Ramos
 
20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx
Suman Garai
 
Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology Market
Bharat Gera
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)
dwipalp
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbruner
Eran 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 Testing
eightbit
 
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
eightbit
 
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
AlexJReid
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notes
jaxarcsig
 
MobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxMobApp development 01 application platform.pptx
MobApp development 01 application platform.pptx
sanaiftikhar23
 
Ad

More from Asim Rais Siddiqui (8)

Understanding Blockchain Technology
Understanding Blockchain TechnologyUnderstanding Blockchain Technology
Understanding Blockchain Technology
Asim Rais Siddiqui
 
IoT Development - Opportunities and Challenges
IoT Development - Opportunities and ChallengesIoT Development - Opportunities and Challenges
IoT Development - Opportunities and Challenges
Asim Rais Siddiqui
 
iOS Memory Management
iOS Memory ManagementiOS Memory Management
iOS Memory Management
Asim 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 Components
Asim Rais Siddiqui
 
iOS Development (Part 2)
iOS Development (Part 2)iOS Development (Part 2)
iOS Development (Part 2)
Asim Rais Siddiqui
 
iOS Development (Part 1)
iOS Development (Part 1)iOS Development (Part 1)
iOS Development (Part 1)
Asim Rais Siddiqui
 
Introduction to Objective - C
Introduction to Objective - CIntroduction to Objective - C
Introduction to Objective - C
Asim 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
 
Understanding Blockchain Technology
Understanding Blockchain TechnologyUnderstanding Blockchain Technology
Understanding Blockchain Technology
Asim Rais Siddiqui
 
IoT Development - Opportunities and Challenges
IoT Development - Opportunities and ChallengesIoT Development - Opportunities and Challenges
IoT Development - Opportunities and Challenges
Asim 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 Components
Asim 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
 

Recently uploaded (20)

#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 

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.
  • 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
  • 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.
  • 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.
  • 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