SlideShare a Scribd company logo
Introduction to Apple  iOS
development
Nikita Korchagin
Introduction to Apple Platforms
development
Nikita Korchagin
Apple platforms engineer
Developer
Developer
Никита Корчагин - Introduction to Apple iOS Development.
Today
•Introduction
•Brief history of iOS and Apple devices
•Starting iOS programming
•iOS development
•Desktop vs. Mobile: what’s different
•Human Interface Guidelines
•Further steps: materials to read
iOS History: from past to present
2007 - iPhone OS 1
• Based on Darwin’s (XNU) kernel port
for ARM
• Multitouch screen
• Few standard applications
• iPhone 1st gen and iPod Touch 1st
gen
• Web-based applications only
• No multitasking
• No SDK
• Usage of private APIs by third-party
developers
2008 - iPhone OS 2
•Paid update (all further major and
minor updates are free)
•First version of iPhone SDK
•Xcode IDE for iOS development
•App Store for iPhone and iPod Touch
•iPod Touch 2G released
2009 - iPhone OS 3
•Lots of UI & functionality
improvements (100+)
•Spotlight search
•Push notifications
•In-app purchase
•Core Data
•«Find my iPhone»
functionality
January 2010 - iPhone OS 3.2
•iPad released
•iPhone OS SDK provides abilities
to create universal applications
•iPad applications should support
multiple device orientations
•iPad-only UI components - Split
view controllers, windowed
modal controllers, popover
controllers
•Backward compatibility with
iPhone applications
June 2010 - WWDC - iOS 4
•iPhone OS became iOS
•iPhone 4 with Retina display
•Support of restricted
multitasking
•Background execution of
applications
•Blocks and Grand Central
Dispatch
•Local notifications
•Game Center and Game Kit
June 2011 - WWDC - iOS 5
•Wireless updates & sync
•iCloud
•Notification center
•Siri
•Containment API
•Automatic Reference Counting
(ARC)
•Twitter integration out-of-box
•Newsstand API
•Core Image
June 2012 - WWDC - iOS 6
•Apple Maps
•Collection views
•AutoLayout
•Facebook integration
•Passbook
•New App Store

June 2013 - WWDC - iOS 7
•iOS redesigned (flat UI, no
skeuomorphism)
•iTunes Radio
•Multitasking improvements
•New application switcher
•Filters for camera
•Automatic applications’ updates
June 2014 - WWDC - iOS8
•No significant design changes
•Multiple screen resolutions
•HomeKit and HealthKit, Metal
•Continuity
•Energy consumption by apps
•Swift programming language
June 2015 - WWDC - iOS9
•Multitasking (Slide Over, Split View,
and Picture in Picture.)
•Search API
•GameplayKit, ReplayKit, Model I/O
•App Thinning
•Swift 2
•watchOS 2 (app extensions)*
June 2016 - WWDC - iOS10
•SiriKit, CallKit, Messages extensions
•Proactive Suggestions
•Video Subscriber Account (SSO)
•Swift 3
•macOS Sierra
•watchOS 3
•tvOS (9 september 2015)*, UIKit/TVML
How to start to develop for iOS?
Jedi way
•Intel-based Mac (Mac Mini, MacBook Air/Pro, iMac, Mac Pro)
•Installed macOS
•Xcode with latest iOS SDK
•Apple device (iPhone/iPod Touch/iPad/ watch/ TV)*
•Apple Developer program account ($99 per 1 year)*
•Good knowledge of design patterns
•Objective-C and Swift knowledge OR
•Relevant experience in C or any strong-typed object-oriented
language like Java/C#/C++
Alternative ways
•Alternative IDE - AppCode (Mac, still requires Xcode to
be installed)
•Objective-C++ (kernel - C++, UI - Objective-C)
•PhoneGap/Titanium (cross-platform)
•Xamarin (.NET/C# - compiles to native code)
•C++ Marmalade SDK for Visual Studio
•Unity3D/Cocos2D-x for game development
•HTML5/CSS3/JavaScript for web applications
Objective-C
•Objective-C is a general-purpose, object-oriented programming
language that adds Smalltalk-style messaging to the C
programming language.
•Originally developed in the early 1980s, it was selected as the
main language used by NeXT for its NeXTSTEP operating system.
•Objective-C is a thin layer on top of C, and moreover is a strict
superset of C.
Objective-C
•All of the syntax for non-object-oriented operations (including
primitive variables, pre-processing, expressions, function
declarations, and function calls) are identical to that of C.
•Syntax for object-oriented features is an implementation of
Smalltalk-style messaging.
•It is the main programming language used by Apple until 2014.
•Still strong and alive…
Objective-C
Никита Корчагин - Introduction to Apple iOS Development.
Swift
•Swift is a multi-paradigm, compiled programming language
created by Apple Inc. for iOS and OS X development.
•Swift was introduced at Apple's 2014 WWDC and Swift 3 at WWDC
2016.
•Initially a proprietary language, Swift 2 became open source
supporting iOS, macOS, watchOS, tvOS, Linux, freeBSD, Raspberry
Pi, Android and Windows.
•Swift supports the core concepts that made Obj-C flexible,
notably dynamic dispatch, widespread late binding, extensible
programming and similar features.
Swift
•It uses the Objective-C runtime, allowing C, Objective-C, C++ and
Swift code to run within a single program.
•Swift has added the concept of protocol extensibility, an
extensibility system that can be applied to types, structs and
classes, Apple promotes this as a real change in programming
paradigms they refer to as protocol-oriented programming.
•Going Server-side with Swift Open Source (#1 on GitHub)
•Swift@IBM Breaking down barriers between client and server all
over the world (Kitura framework, Sandbox, Bluemix)
Swift
Никита Корчагин - Introduction to Apple iOS Development.
Desktop vs. Mobile
What’s different?
•Multitouch display & gestures
•Front and rear camera
•Speakers and microphone
•Location subsystem - GPS/GLONASS
•Magnetometer and compass
•G-sensor and accelerometer
•Bluetooth accessories
Network
•Variants of connection
•GPRS
•EDGE
•3G/4G
•WiFi
•All these opportunities (except WiFi) are connection-
lost-prone
•Cellular network connection is expensive
Screens
•Fullscreen applications
•Bigger UI elements for fingers
•Dark colors to reduce energy consumption
•Different resolutions (x1, x2 and x3)
•Assets for different resolutions
•Ergonomics
Resources
•Every heavy application dramatically drains battery’s life
•Geolocation - GPS
•Networking
•Disk capacity is limited (8/16/32/64/… GB and no SD/
microSD slot)
•Restricted multitasking (full introduced in iOS 7)
•Only a few types of content are supported
•UI is rendered using real-time thread and shouldn’t be
blocked ever
Security mechanisms
•Sandboxing - every application is isolated and runs under
restricted user’s account («jailed»)
•IPC is limited to URL schemas and extensions
•Personal data and passwords should be encrypted (Keychain) or
not stored on the device at all
•HTTPS connections are preferred*; certificate validation is needed
•Data on disk can be encrypted and protected by iOS
•Group policies can be established for iOS devices using
configuration profiles
Creating and submitting the app
•Application should be tested thoroughly; crashes are forbidden
•Application should follow Apple’s Human Interface Guidelines
•Private API usage is forbidden
•Application can be deployed only to the device which is in the
provisioning list
•Application’s binary is signed using developer’s private key
•Application is thoroughly tested during review process
Human Interface Guidelines
HIG
HIG
HIG
HIG
Bad UI/UX
Bad UI/UX
Bad UI/UX
Bad UI/UX
Tablets specific UI
Accessibility
Good UI/UX
Interface Builder HIG support
flat UI vs. skeuomorphism
Further steps
Q&A
Thanks for your attention!

More Related Content

PPTX
Ярослав Воронцов — Пара слов о mobile security.
PDF
Beginning Real World iOS App Development
PPTX
iOS platform
PPT
ios basics
PPTX
Tizen operating system seminar ppt
PPT
Mobile Security Assessment: 101
PDF
iOS Application Penetration Testing
PPTX
iOS-Application-Security-iAmPr3m
Ярослав Воронцов — Пара слов о mobile security.
Beginning Real World iOS App Development
iOS platform
ios basics
Tizen operating system seminar ppt
Mobile Security Assessment: 101
iOS Application Penetration Testing
iOS-Application-Security-iAmPr3m

What's hot (20)

PDF
How Android is different from other systems – An exploration of the design de...
PPTX
Hacking and securing ios applications
PDF
Xcode, Basics and Beyond
PPTX
Pentesting iPhone applications
PDF
iOS 6 Exploitation: 280 days later
PDF
Ruxmon April 2014 - Introduction to iOS Penetration Testing
PDF
iOS Application Penetation Test
KEY
Jailbreaking iOS
PPT
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
PDF
DIFFDroid_Anto_Joseph_HIP_2016
PDF
Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...
PDF
CNIT 128 2. Analyzing iOS Applications (Part 1)
PDF
Yow connected developing secure i os applications
PPTX
Tizen Operating System
PPTX
Firefox os ppt
PDF
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
PPT
iOS Hacking: Advanced Pentest & Forensic Techniques
PDF
OWASP Melbourne - Introduction to iOS Application Penetration Testing
PDF
I Want More Ninja – iOS Security Testing
PDF
Hacking and Securing iOS Apps : Part 1
How Android is different from other systems – An exploration of the design de...
Hacking and securing ios applications
Xcode, Basics and Beyond
Pentesting iPhone applications
iOS 6 Exploitation: 280 days later
Ruxmon April 2014 - Introduction to iOS Penetration Testing
iOS Application Penetation Test
Jailbreaking iOS
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
DIFFDroid_Anto_Joseph_HIP_2016
Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...
CNIT 128 2. Analyzing iOS Applications (Part 1)
Yow connected developing secure i os applications
Tizen Operating System
Firefox os ppt
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
iOS Hacking: Advanced Pentest & Forensic Techniques
OWASP Melbourne - Introduction to iOS Application Penetration Testing
I Want More Ninja – iOS Security Testing
Hacking and Securing iOS Apps : Part 1
Ad

Viewers also liked (20)

KEY
Ios.s2
PDF
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
PPTX
IT talk SPb: Найдется все
PPTX
5penpctechnology 130402085735-phpapp01
PPTX
Christmas eve presentatie uit Polen
PPTX
Sam mendes
PPTX
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk
ODP
photos
PDF
ARCHVENTURE
PPTX
First story board pictures
PPT
Biblioterapia
PDF
Cara menginstall windows 7
PPTX
Que es el internet programacion web
PDF
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
PPTX
128059 final ppt30.08.2K16
PDF
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
PDF
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
PPTX
นิทาน
PDF
«Android: думайте через данные» Андрей Хитрый
PDF
«Android Marshmallow — будь готов». Денис Неклюдов
Ios.s2
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
IT talk SPb: Найдется все
5penpctechnology 130402085735-phpapp01
Christmas eve presentatie uit Polen
Sam mendes
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk
photos
ARCHVENTURE
First story board pictures
Biblioterapia
Cara menginstall windows 7
Que es el internet programacion web
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
128059 final ppt30.08.2K16
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
นิทาน
«Android: думайте через данные» Андрей Хитрый
«Android Marshmallow — будь готов». Денис Неклюдов
Ad

Similar to Никита Корчагин - Introduction to Apple iOS Development. (20)

PDF
Никита Корчагин - Introduction to iOS development
PPTX
Apple iOS Technology Market
PPTX
Introduction to iOS Development
KEY
Development of a mobile app for Android
PPTX
Introduction to iOS Apps Development
PDF
Qa extreme 2011 eran kinsbruner
PDF
iOS App Development and Marketing
PDF
Android report.
PDF
Enterprise iPad Development Without Notes
PPTX
android
PDF
IT6601 Mobile Computing Unit V
PPTX
Mobile applications development
PPTX
iphone application development
PPT
Ios development
PPSX
Android
PPTX
developementofmobileapplication-160412025313 (1).pptx
KEY
iPhone OS: The Next Killer Platform
PPTX
Layer architecture of ios (1)
PPTX
MobApp development 01 application platform.pptx
PDF
Android Overview
Никита Корчагин - Introduction to iOS development
Apple iOS Technology Market
Introduction to iOS Development
Development of a mobile app for Android
Introduction to iOS Apps Development
Qa extreme 2011 eran kinsbruner
iOS App Development and Marketing
Android report.
Enterprise iPad Development Without Notes
android
IT6601 Mobile Computing Unit V
Mobile applications development
iphone application development
Ios development
Android
developementofmobileapplication-160412025313 (1).pptx
iPhone OS: The Next Killer Platform
Layer architecture of ios (1)
MobApp development 01 application platform.pptx
Android Overview

More from DataArt (20)

PDF
DataArt Custom Software Engineering with a Human Approach
PDF
DataArt Healthcare & Life Sciences
PDF
DataArt Financial Services and Capital Markets
PDF
About DataArt HR Partners
PDF
Event management в IT
PDF
Digital Marketing from inside
PPTX
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
PDF
DevOps Workshop:Что бывает, когда DevOps приходит на проект
PDF
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
PDF
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
PDF
Communication in QA's life
PDF
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
PDF
Знакомьтесь, DevOps
PDF
DevOps in real life
PDF
Codeless: автоматизация тестирования
PDF
Selenoid
PDF
Selenide
PDF
A. Sirota "Building an Automation Solution based on Appium"
PDF
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
PPTX
IT talk: Как я перестал бояться и полюбил TestNG
DataArt Custom Software Engineering with a Human Approach
DataArt Healthcare & Life Sciences
DataArt Financial Services and Capital Markets
About DataArt HR Partners
Event management в IT
Digital Marketing from inside
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
DevOps Workshop:Что бывает, когда DevOps приходит на проект
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
Communication in QA's life
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Знакомьтесь, DevOps
DevOps in real life
Codeless: автоматизация тестирования
Selenoid
Selenide
A. Sirota "Building an Automation Solution based on Appium"
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
IT talk: Как я перестал бояться и полюбил TestNG

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation theory and applications.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Modernizing your data center with Dell and AMD
PPT
Teaching material agriculture food technology
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation_ Review paper, used for researhc scholars
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation theory and applications.pdf
cuic standard and advanced reporting.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
NewMind AI Monthly Chronicles - July 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Digital-Transformation-Roadmap-for-Companies.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Modernizing your data center with Dell and AMD
Teaching material agriculture food technology
Approach and Philosophy of On baking technology
Encapsulation_ Review paper, used for researhc scholars
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Никита Корчагин - Introduction to Apple iOS Development.

  • 1. Introduction to Apple  iOS development Nikita Korchagin
  • 2. Introduction to Apple Platforms development Nikita Korchagin Apple platforms engineer
  • 6. Today •Introduction •Brief history of iOS and Apple devices •Starting iOS programming •iOS development •Desktop vs. Mobile: what’s different •Human Interface Guidelines •Further steps: materials to read
  • 7. iOS History: from past to present
  • 8. 2007 - iPhone OS 1 • Based on Darwin’s (XNU) kernel port for ARM • Multitouch screen • Few standard applications • iPhone 1st gen and iPod Touch 1st gen • Web-based applications only • No multitasking • No SDK • Usage of private APIs by third-party developers
  • 9. 2008 - iPhone OS 2 •Paid update (all further major and minor updates are free) •First version of iPhone SDK •Xcode IDE for iOS development •App Store for iPhone and iPod Touch •iPod Touch 2G released
  • 10. 2009 - iPhone OS 3 •Lots of UI & functionality improvements (100+) •Spotlight search •Push notifications •In-app purchase •Core Data •«Find my iPhone» functionality
  • 11. January 2010 - iPhone OS 3.2 •iPad released •iPhone OS SDK provides abilities to create universal applications •iPad applications should support multiple device orientations •iPad-only UI components - Split view controllers, windowed modal controllers, popover controllers •Backward compatibility with iPhone applications
  • 12. June 2010 - WWDC - iOS 4 •iPhone OS became iOS •iPhone 4 with Retina display •Support of restricted multitasking •Background execution of applications •Blocks and Grand Central Dispatch •Local notifications •Game Center and Game Kit
  • 13. June 2011 - WWDC - iOS 5 •Wireless updates & sync •iCloud •Notification center •Siri •Containment API •Automatic Reference Counting (ARC) •Twitter integration out-of-box •Newsstand API •Core Image
  • 14. June 2012 - WWDC - iOS 6 •Apple Maps •Collection views •AutoLayout •Facebook integration •Passbook •New App Store

  • 15. June 2013 - WWDC - iOS 7 •iOS redesigned (flat UI, no skeuomorphism) •iTunes Radio •Multitasking improvements •New application switcher •Filters for camera •Automatic applications’ updates
  • 16. June 2014 - WWDC - iOS8 •No significant design changes •Multiple screen resolutions •HomeKit and HealthKit, Metal •Continuity •Energy consumption by apps •Swift programming language
  • 17. June 2015 - WWDC - iOS9 •Multitasking (Slide Over, Split View, and Picture in Picture.) •Search API •GameplayKit, ReplayKit, Model I/O •App Thinning •Swift 2 •watchOS 2 (app extensions)*
  • 18. June 2016 - WWDC - iOS10 •SiriKit, CallKit, Messages extensions •Proactive Suggestions •Video Subscriber Account (SSO) •Swift 3 •macOS Sierra •watchOS 3 •tvOS (9 september 2015)*, UIKit/TVML
  • 19. How to start to develop for iOS?
  • 20. Jedi way •Intel-based Mac (Mac Mini, MacBook Air/Pro, iMac, Mac Pro) •Installed macOS •Xcode with latest iOS SDK •Apple device (iPhone/iPod Touch/iPad/ watch/ TV)* •Apple Developer program account ($99 per 1 year)* •Good knowledge of design patterns •Objective-C and Swift knowledge OR •Relevant experience in C or any strong-typed object-oriented language like Java/C#/C++
  • 21. Alternative ways •Alternative IDE - AppCode (Mac, still requires Xcode to be installed) •Objective-C++ (kernel - C++, UI - Objective-C) •PhoneGap/Titanium (cross-platform) •Xamarin (.NET/C# - compiles to native code) •C++ Marmalade SDK for Visual Studio •Unity3D/Cocos2D-x for game development •HTML5/CSS3/JavaScript for web applications
  • 23. •Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. •Originally developed in the early 1980s, it was selected as the main language used by NeXT for its NeXTSTEP operating system. •Objective-C is a thin layer on top of C, and moreover is a strict superset of C. Objective-C
  • 24. •All of the syntax for non-object-oriented operations (including primitive variables, pre-processing, expressions, function declarations, and function calls) are identical to that of C. •Syntax for object-oriented features is an implementation of Smalltalk-style messaging. •It is the main programming language used by Apple until 2014. •Still strong and alive… Objective-C
  • 26. Swift
  • 27. •Swift is a multi-paradigm, compiled programming language created by Apple Inc. for iOS and OS X development. •Swift was introduced at Apple's 2014 WWDC and Swift 3 at WWDC 2016. •Initially a proprietary language, Swift 2 became open source supporting iOS, macOS, watchOS, tvOS, Linux, freeBSD, Raspberry Pi, Android and Windows. •Swift supports the core concepts that made Obj-C flexible, notably dynamic dispatch, widespread late binding, extensible programming and similar features. Swift
  • 28. •It uses the Objective-C runtime, allowing C, Objective-C, C++ and Swift code to run within a single program. •Swift has added the concept of protocol extensibility, an extensibility system that can be applied to types, structs and classes, Apple promotes this as a real change in programming paradigms they refer to as protocol-oriented programming. •Going Server-side with Swift Open Source (#1 on GitHub) •Swift@IBM Breaking down barriers between client and server all over the world (Kitura framework, Sandbox, Bluemix) Swift
  • 31. What’s different? •Multitouch display & gestures •Front and rear camera •Speakers and microphone •Location subsystem - GPS/GLONASS •Magnetometer and compass •G-sensor and accelerometer •Bluetooth accessories
  • 32. Network •Variants of connection •GPRS •EDGE •3G/4G •WiFi •All these opportunities (except WiFi) are connection- lost-prone •Cellular network connection is expensive
  • 33. Screens •Fullscreen applications •Bigger UI elements for fingers •Dark colors to reduce energy consumption •Different resolutions (x1, x2 and x3) •Assets for different resolutions •Ergonomics
  • 34. Resources •Every heavy application dramatically drains battery’s life •Geolocation - GPS •Networking •Disk capacity is limited (8/16/32/64/… GB and no SD/ microSD slot) •Restricted multitasking (full introduced in iOS 7) •Only a few types of content are supported •UI is rendered using real-time thread and shouldn’t be blocked ever
  • 35. Security mechanisms •Sandboxing - every application is isolated and runs under restricted user’s account («jailed») •IPC is limited to URL schemas and extensions •Personal data and passwords should be encrypted (Keychain) or not stored on the device at all •HTTPS connections are preferred*; certificate validation is needed •Data on disk can be encrypted and protected by iOS •Group policies can be established for iOS devices using configuration profiles
  • 36. Creating and submitting the app •Application should be tested thoroughly; crashes are forbidden •Application should follow Apple’s Human Interface Guidelines •Private API usage is forbidden •Application can be deployed only to the device which is in the provisioning list •Application’s binary is signed using developer’s private key •Application is thoroughly tested during review process
  • 38. HIG
  • 39. HIG
  • 40. HIG
  • 41. HIG
  • 50. flat UI vs. skeuomorphism
  • 52. Q&A
  • 53. Thanks for your attention!