SlideShare a Scribd company logo
1 of 20
Introduction to
iOS Development
PROF. ERWIN M. GLOBIO, MSIT
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.
PROF. ERWIN M. GLOBIO, MSIT
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.
PROF. ERWIN M. GLOBIO, MSIT
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.
PROF. ERWIN M. GLOBIO, MSIT
PROF. ERWIN M. GLOBIO, MSIT
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
PROF. ERWIN M. GLOBIO, MSIT
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
PROF. ERWIN M. GLOBIO, MSIT
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
PROF. ERWIN M. GLOBIO, MSIT
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
PROF. ERWIN M. GLOBIO, MSIT
PROF. ERWIN M. GLOBIO, MSIT
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.
PROF. ERWIN M. GLOBIO, MSIT
PROF. ERWIN M. GLOBIO, MSIT
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.
PROF. ERWIN M. GLOBIO, MSIT
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
PROF. ERWIN M. GLOBIO, MSIT
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.
PROF. ERWIN M. GLOBIO, MSIT
PROF. ERWIN M. GLOBIO, MSIT
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
PROF. ERWIN M. GLOBIO, MSIT
PROF. ERWIN M. GLOBIO, MSIT
PROF. ERWIN M. GLOBIO, MSIT
PROF. ERWIN M. GLOBIO, MSIT

More Related Content

What's hot

android architecture
android architectureandroid architecture
android architecture
Aashita Gupta
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
Ahsanul Karim
 

What's hot (20)

android architecture
android architectureandroid architecture
android architecture
 
Android application development ppt
Android application development pptAndroid application development ppt
Android application development ppt
 
Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application Development
 
Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-ppt
 
iOS: Overview, Architecture, Development & Versions
iOS: Overview, Architecture, Development & Versions iOS: Overview, Architecture, Development & Versions
iOS: Overview, Architecture, Development & Versions
 
React Native
React NativeReact Native
React Native
 
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
 
iOS PPT
iOS PPTiOS PPT
iOS PPT
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android ppt
 
SQLite database in android
SQLite database in androidSQLite database in android
SQLite database in android
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Broadcast receivers
Broadcast receiversBroadcast receivers
Broadcast receivers
 
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
 
PPT on iOS
PPT on iOS PPT on iOS
PPT on iOS
 
Android studio installation
Android studio installationAndroid studio installation
Android studio installation
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 

Viewers also liked

iOS Application Lifecycle
iOS Application LifecycleiOS Application Lifecycle
iOS Application Lifecycle
Siva Prasad K V
 
2011 iOS & Android 市場數據報告
2011 iOS & Android 市場數據報告2011 iOS & Android 市場數據報告
2011 iOS & Android 市場數據報告
Faust Li
 
iPhone application development training day 1
iPhone application development training day 1iPhone application development training day 1
iPhone application development training day 1
Shyamala Prayaga
 

Viewers also liked (20)

Apple iOS
Apple iOSApple iOS
Apple iOS
 
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
 
Apple iOS Introduction
Apple iOS IntroductionApple iOS Introduction
Apple iOS Introduction
 
Ios fundamentals with ObjectiveC
Ios fundamentals with ObjectiveCIos fundamentals with ObjectiveC
Ios fundamentals with ObjectiveC
 
iOS Application Lifecycle
iOS Application LifecycleiOS Application Lifecycle
iOS Application Lifecycle
 
Apple iOS Report
Apple iOS ReportApple iOS Report
Apple iOS Report
 
First Steps in iOS Development
First Steps in iOS DevelopmentFirst Steps in iOS Development
First Steps in iOS Development
 
iOS Development with Blocks
iOS Development with BlocksiOS Development with Blocks
iOS Development with Blocks
 
iOS Development - Offline Class for Jasakomer
iOS Development - Offline Class for JasakomeriOS Development - Offline Class for Jasakomer
iOS Development - Offline Class for Jasakomer
 
Cloud Computing Latest
Cloud Computing LatestCloud Computing Latest
Cloud Computing Latest
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
2011 iOS & Android 市場數據報告
2011 iOS & Android 市場數據報告2011 iOS & Android 市場數據報告
2011 iOS & Android 市場數據報告
 
iOS training (basic)
iOS training (basic)iOS training (basic)
iOS training (basic)
 
iPhone application development training day 1
iPhone application development training day 1iPhone application development training day 1
iPhone application development training day 1
 
Training Session iOS UI Guidelines
Training Session iOS UI GuidelinesTraining Session iOS UI Guidelines
Training Session iOS UI Guidelines
 
Parte II Objective C
Parte II   Objective CParte II   Objective C
Parte II Objective C
 
Apple 8 Easy Steps To Beat Microsoft
Apple 8 Easy Steps To Beat MicrosoftApple 8 Easy Steps To Beat Microsoft
Apple 8 Easy Steps To Beat Microsoft
 
Android & IOS
Android & IOSAndroid & IOS
Android & IOS
 

Similar to Introduction to iOS Apps Development

Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
DataArt
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEM
cool192
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416
zxdrtyu
 
Developing Applications on iOS
Developing Applications on iOSDeveloping Applications on iOS
Developing Applications on iOS
Francisco Ramos
 
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
 
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
 
Windows phone 7
Windows phone 7Windows phone 7
Windows phone 7
Amal Dev
 

Similar to Introduction to iOS Apps Development (20)

Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbruner
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptx
 
20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx
 
IT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit VIT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit V
 
Ios
IosIos
Ios
 
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
 
iOS App Development and Marketing
iOS App Development and MarketingiOS App Development and Marketing
iOS App Development and Marketing
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEM
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Developing Applications on iOS
Developing Applications on iOSDeveloping Applications on iOS
Developing Applications on iOS
 
[University] Capstone Design Project 2 (SAIOT)
[University] Capstone Design Project 2 (SAIOT)[University] Capstone Design Project 2 (SAIOT)
[University] Capstone Design Project 2 (SAIOT)
 
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
 
SpringPeople Introduction to iOS Apps Development
SpringPeople Introduction to iOS Apps DevelopmentSpringPeople Introduction to iOS Apps Development
SpringPeople Introduction to iOS Apps Development
 
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
 
Adobe Flash and Device Central
Adobe Flash and Device CentralAdobe Flash and Device Central
Adobe Flash and Device Central
 
Windows phone 7
Windows phone 7Windows phone 7
Windows phone 7
 

More from Prof. Erwin Globio

Cisco Router Basic Configuration
Cisco Router Basic ConfigurationCisco Router Basic Configuration
Cisco Router Basic Configuration
Prof. Erwin Globio
 
Introduction to Android Development Latest
Introduction to Android Development LatestIntroduction to Android Development Latest
Introduction to Android Development Latest
Prof. Erwin Globio
 
iOS Apps Development (SQLite Tutorial Part 2)
iOS Apps Development (SQLite Tutorial Part 2)iOS Apps Development (SQLite Tutorial Part 2)
iOS Apps Development (SQLite Tutorial Part 2)
Prof. Erwin Globio
 
iOS Apps Development (SQLite Tutorial Part 1)
iOS Apps Development (SQLite Tutorial Part 1)iOS Apps Development (SQLite Tutorial Part 1)
iOS Apps Development (SQLite Tutorial Part 1)
Prof. Erwin Globio
 
Introduction to Computer Programming
Introduction to Computer ProgrammingIntroduction to Computer Programming
Introduction to Computer Programming
Prof. Erwin Globio
 

More from Prof. Erwin Globio (20)

Embedded System Presentation
Embedded System PresentationEmbedded System Presentation
Embedded System Presentation
 
BSCS | BSIT Thesis Guidelines
BSCS | BSIT Thesis GuidelinesBSCS | BSIT Thesis Guidelines
BSCS | BSIT Thesis Guidelines
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Networking Trends
Networking TrendsNetworking Trends
Networking Trends
 
Sq lite presentation
Sq lite presentationSq lite presentation
Sq lite presentation
 
Ethics for IT Professionals
Ethics for IT ProfessionalsEthics for IT Professionals
Ethics for IT Professionals
 
Cisco Router Basic Configuration
Cisco Router Basic ConfigurationCisco Router Basic Configuration
Cisco Router Basic Configuration
 
Introduction to Android Development Latest
Introduction to Android Development LatestIntroduction to Android Development Latest
Introduction to Android Development Latest
 
iOS Apps Development (SQLite Tutorial Part 2)
iOS Apps Development (SQLite Tutorial Part 2)iOS Apps Development (SQLite Tutorial Part 2)
iOS Apps Development (SQLite Tutorial Part 2)
 
iOS Apps Development (SQLite Tutorial Part 1)
iOS Apps Development (SQLite Tutorial Part 1)iOS Apps Development (SQLite Tutorial Part 1)
iOS Apps Development (SQLite Tutorial Part 1)
 
A tutorial on C++ Programming
A tutorial on C++ ProgrammingA tutorial on C++ Programming
A tutorial on C++ Programming
 
Overview of C Language
Overview of C LanguageOverview of C Language
Overview of C Language
 
Introduction to Computer Programming
Introduction to Computer ProgrammingIntroduction to Computer Programming
Introduction to Computer Programming
 
Android Fragments
Android FragmentsAndroid Fragments
Android Fragments
 
Solutions to Common Android Problems
Solutions to Common Android ProblemsSolutions to Common Android Problems
Solutions to Common Android Problems
 
Android Development Tools and Installation
Android Development Tools and InstallationAndroid Development Tools and Installation
Android Development Tools and Installation
 
Java Collections Tutorials
Java Collections TutorialsJava Collections Tutorials
Java Collections Tutorials
 
Action Bar in Android
Action Bar in AndroidAction Bar in Android
Action Bar in Android
 
Resource Speaker
Resource SpeakerResource Speaker
Resource Speaker
 
Guidelines to Qualitative Researches
Guidelines to Qualitative ResearchesGuidelines to Qualitative Researches
Guidelines to Qualitative Researches
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Recently uploaded (20)

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 

Introduction to iOS Apps Development

  • 2. 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. PROF. ERWIN M. GLOBIO, MSIT
  • 3. 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. PROF. ERWIN M. GLOBIO, MSIT
  • 4. 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. PROF. ERWIN M. GLOBIO, MSIT
  • 5. PROF. ERWIN M. GLOBIO, MSIT
  • 6. 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 PROF. ERWIN M. GLOBIO, MSIT
  • 7. 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 PROF. ERWIN M. GLOBIO, MSIT
  • 8. 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 PROF. ERWIN M. GLOBIO, MSIT
  • 9. 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 PROF. ERWIN M. GLOBIO, MSIT
  • 10. PROF. ERWIN M. GLOBIO, MSIT
  • 11. 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. PROF. ERWIN M. GLOBIO, MSIT
  • 12. PROF. ERWIN M. GLOBIO, MSIT
  • 13. 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. PROF. ERWIN M. GLOBIO, MSIT
  • 14. 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 PROF. ERWIN M. GLOBIO, MSIT
  • 15. 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. PROF. ERWIN M. GLOBIO, MSIT
  • 16. PROF. ERWIN M. GLOBIO, MSIT
  • 17. 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 PROF. ERWIN M. GLOBIO, MSIT
  • 18. PROF. ERWIN M. GLOBIO, MSIT
  • 19. PROF. ERWIN M. GLOBIO, MSIT
  • 20. PROF. ERWIN M. GLOBIO, MSIT