Download - iOS Ecosystem
![Page 1: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/1.jpg)
Pragma Night @ Talent Garden
iOS Ecosystem
Matteo Battaglio
1
1giovedì 28 marzo 13
![Page 2: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/2.jpg)
Pragma Night
Why iOS?
2
2giovedì 28 marzo 13
![Page 3: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/3.jpg)
Pragma Night
Reason #1: NumbersThe size of the mobile market is huge,
and growing exponentially
3
3giovedì 28 marzo 13
![Page 4: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/4.jpg)
Pragma Night
Reason #1: NumbersApple keeps holding a significant shareof the market, with a positive outlook
4
4giovedì 28 marzo 13
![Page 5: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/5.jpg)
Pragma Night
Reason #2: Consistency
• The iOS platform is highly consistent
• Just 3 different device families (iPhone, iPad, iPod)
• they target the high-end market
• the minimum set of features and APIs available to all is well known
5
5giovedì 28 marzo 13
![Page 6: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/6.jpg)
Pragma Night
Reason #2: ConsistencyMore than 80% of devices already run iOS 6
6
6giovedì 28 marzo 13
![Page 7: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/7.jpg)
Pragma Night
Reason #3: Environment
• 500+ milion iTunes accounts, with credit card
• the iOS customer is much more willing to pay than other platforms’ customer
Apple’s mission:create an environment around the user, not just sell products
7
7giovedì 28 marzo 13
![Page 8: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/8.jpg)
Pragma Night
Reason #3: Environment
• Apple’s highly-controlled environment limits unwanted phenomenons
• piracy
• fraudulent apps
• crappy apps
• Developers are less threatened than other platforms’ developers
8
8giovedì 28 marzo 13
![Page 9: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/9.jpg)
Pragma Night
Reason #4: Resources
• iOS frameworks and APIs are of first-class quality
• The documentation is structured and exhaustive
• Lots of books, articles, videos and tutorials
• High-quality developer community
9
9giovedì 28 marzo 13
![Page 10: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/10.jpg)
Pragma Night
Reason #4: Resources
• Development tools by Apple
• Xcode is a full featured IDE
• Interface Builder is great for designing user interfaces
• Debugger and profiler make it easy to find anomalies
• iOS Simulator is super fast
10
10giovedì 28 marzo 13
![Page 11: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/11.jpg)
Pragma Night
Reason #5: Fun!
• iOS devices are equipped with all sorts of sensors
• their computational power is enough even for the more advanced tasks
• always connected to the Internet
There is no limit to the imagination!
11
11giovedì 28 marzo 13
![Page 12: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/12.jpg)
Pragma Night
Reason #5: Fun!
Most popular app categories
1. Games ~ 140000 active apps @ $0.89 avg.2. Education ~ 90000 active apps3. Entertainment ~ 75000 active apps4. Lifestyle ~ 70000 active apps5. Books ~ 55000 active apps
@ $1.56 avg.
12
12giovedì 28 marzo 13
![Page 13: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/13.jpg)
Pragma Night
Drawbacks
• Not-so-cheap hardware
• iOS-dedicated events almost absent
• Dependance upon a single company and its decisions (non disclosure agreements, Xcode and SDK update policies, etc)
13
13giovedì 28 marzo 13
![Page 14: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/14.jpg)
Pragma Night
Hidden complexity
• iPhone
• iPad
• iPod
14
Just 3 different devices?
14giovedì 28 marzo 13
![Page 15: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/15.jpg)
Pragma Night
Devices
iPhone 3GS
iPhone 4
iPhone 4s
iPhone 5
iPod 4th
iPod 5th
iPad 2
iPad 3
iPad 4
iPad Mini
15
15giovedì 28 marzo 13
![Page 16: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/16.jpg)
Pragma Night
Display
iPhone 3GS iPhone 4 / 4SiPod 4th gen
iPhone 5 iPod 5th gen
320x480 px 640x480 px 640x1136 px
116 ppi 326 ppi 332 ppi
16
16giovedì 28 marzo 13
![Page 17: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/17.jpg)
Pragma Night
Display
iPad 1 / 2 iPad 3 / 4 iPad mini
1024x768 px 2048x1536 px 1024x768 px
132 dpi 264 dpi 162 dpi
17
17giovedì 28 marzo 13
![Page 18: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/18.jpg)
Pragma Night
Processor / RAM
ARMv7ARMv7ARMv7ARMv7 ARMv7sARMv7s
1 GB iPad 3 iPhone 5 iPad 4
512 MB iPhone 4iPhone 4S
iPad 2iPod 5th
256 MB iPhone 3GsiPod 3rd
iPad 1iPod 4th
18
18giovedì 28 marzo 13
![Page 19: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/19.jpg)
Pragma Night
Device Specs
• GSM Arenahttp://www.gsmarena.com/apple-phones-48.php
• The iPhoneWikihttp://theiphonewiki.com/wiki/
• iPhone Dev Wikihttp://iphonedevwiki.net/index.php/Main_Page
19
19giovedì 28 marzo 13
![Page 20: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/20.jpg)
Pragma Night
Requirements
20
20giovedì 28 marzo 13
![Page 21: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/21.jpg)
Pragma Night
Phisical requirements
• A Mac (iMac, Mac mini, MacBook family)
• OS X (10.7+)
• Xcode (4.0+)
• An iOS device (not mandatory, but recommended)
• The iOS Simulator can’t be used to simulate some features (e.g. push notifications, in-app purchases)
21
21giovedì 28 marzo 13
![Page 22: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/22.jpg)
Pragma Night
Skill requirements
• Object Oriented Programming
• C language
• Objective-C language & iOS SDK
• Apple guidelines
• Provisioning procedures
22
22giovedì 28 marzo 13
![Page 23: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/23.jpg)
Pragma Night
Membership requirements
• Apple ID (free)
• Apple Developer Program (ADP) subscription
23
23giovedì 28 marzo 13
![Page 24: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/24.jpg)
Pragma Night
Apple Developer Program
24
24giovedì 28 marzo 13
![Page 25: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/25.jpg)
Pragma Night
Apple Developer Program
Name Price Deployment
iOS Developer Program $99/year App Store / 100 devices
iOS Developer Enterprise Program $299/year NO App Store / ∞ devices
iOS Developer University Program free NO App Store / 200 people
25
Developer Programs
25giovedì 28 marzo 13
![Page 26: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/26.jpg)
Pragma Night
ADP Sections• Member Center
• manage users
• ADP subscription and renewal
• iOS Provisioning Portal
• development and distribution certificates
• adding and removing devices
• iTunes Connect
• app submissions
• tracking sales and trends
• handling payments
26
26giovedì 28 marzo 13
![Page 27: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/27.jpg)
Pragma Night
Concepts
• Certificateunivocally identifies an actor
• DeviceDevices must be enabled for testing
• App IDUnique identifier for the app
• Provisioning profileAsset which encloses the three concepts above
27
27giovedì 28 marzo 13
![Page 28: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/28.jpg)
Pragma Night
Certificates
• Development CertificateEach person in the team has his own
• Distribution CertificateThere’s one for the whole company (or single developer)
28
28giovedì 28 marzo 13
![Page 29: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/29.jpg)
Pragma Night
Devices
• Purposedevices are used during development and testing
• Name + UDIDUnique Device IDentifier, 40 char-long stringe.g. 67a43b0925c7a8050ad788591ace81d1bda81bed
• Limits
1. The ADP allows for a maximum of 100 devices
2. A device can’t be removed from the list until the next renewal of the subscription
29
29giovedì 28 marzo 13
![Page 30: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/30.jpg)
Pragma Night
App IDs
• Bundle Identifierunique identifier for the app
• Reverse domain namee.g. com.mycompany.BestAppEver
• Wildcard charactere.g. com.mycompany.*
30
30giovedì 28 marzo 13
![Page 31: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/31.jpg)
Pragma Night
Provisioning Profile
• What is it?it’s a resource (a file) which bundles the App ID, the device list and the certificates of the developers of the team
• What does it provide?it is bundled with the app and is used to authorize the execution of the app on the devices and its deployment and distribution
• How long does it last?It is valid for one year, after which it must be renewed
31
31giovedì 28 marzo 13
![Page 32: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/32.jpg)
Pragma Night
Provisioning Profile
•Development Provisioning Profile
‣ App ID ‣ (Development) certificate list‣ Device list
•Distribution Provisioning Profile
‣ Distribution method (App Store or AdHoc)‣ App ID‣ (Distribution) certificate‣ Device list (only in case of AdHoc deployment)
32
32giovedì 28 marzo 13
![Page 33: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/33.jpg)
Step by step
MMADP $$ Certificates
MDistributionCertificate
DevelopmentCertificates O
MMTeam Devices
MDevicesCustomers OMM
M M
New APP App ID Provisioning OMM
Xcode Install Build & sign
33giovedì 28 marzo 13
![Page 34: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/34.jpg)
Pragma Night
SDK
34
34giovedì 28 marzo 13
![Page 35: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/35.jpg)
Pragma Night
iOS
• Mobile operating systemARM architecture, multitasking, Cocoa Touch, multi-touch GUI
• Kernel XNU (like MAC OS X)Originally developed by NeXT for the NeXTSTEP OS, it is a hybrid kernel combining Mach and BSD components, and an object-oriented API for drivers
• Initially known as iPhone OS
35
35giovedì 28 marzo 13
![Page 36: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/36.jpg)
Pragma Night
Cocoa Touch frameworks
36
UIKit
36giovedì 28 marzo 13
![Page 37: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/37.jpg)
Pragma Night
iOS SDK
• Libraries and development tools
• First release in March 2008
• Side by side with Xcode e Mac OS
37
37giovedì 28 marzo 13
![Page 38: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/38.jpg)
Pragma Night
Tools
• XcodeThe natural environment for app development
• iOS SimulatorThe handy way of running and testing apps
• InstrumentsThe perfect tool for code analysis and profiling
38
38giovedì 28 marzo 13
![Page 39: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/39.jpg)
Pragma Night
Xcode
• Integrated Development Environment
• Objective-C / Objective-C++ / C++ / C
• LLVM and GCC compilers and debuggers
• Interface Builder
• Source Control (Subversion / Git)
• Apple’s developer documentation
39
39giovedì 28 marzo 13
![Page 40: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/40.jpg)
Pragma Night
Simulator
• iPhone / iPhone Retina (3.5” / 4”) / iPad / iPad Retina
• Gestures, Orientation change, Memory Warnings
• GPS (iOS 5+ Simulator)
• Apps: Safari, Photos, Contacts, Settings, Game Center, News Stand
• Fast! (It’s x86 and runs x86 apps, no ARM emulation)
40
40giovedì 28 marzo 13
![Page 41: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/41.jpg)
Pragma Night
Instruments
• Application performance analyzer and visualizer
• Integrated with Xcode
• Tracks user events, CPU activity, memory allocations, releases and leaks, file I/O, network activity, graphics and OpenGL
41
41giovedì 28 marzo 13
![Page 42: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/42.jpg)
Pragma Night
Resources
42
42giovedì 28 marzo 13
![Page 43: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/43.jpg)
Pragma Night
Resources
• Events
• Videos
• Books
43
43giovedì 28 marzo 13
![Page 44: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/44.jpg)
Pragma Night
Events
• Apple WWDC
• Apple Tech Talk World Tour
• NSConference
• Pragma mark :)
http://lanyrd.com/topics/ios/
44
44giovedì 28 marzo 13
![Page 45: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/45.jpg)
Pragma Night
Videos
• NSScreencast.com
• WWDC 2010 / 2011 / 2012 (ADP members only)
• iOS Development Videos (ADP members only)
• Lynda.com
• iDeveloper.tv
• Udemy.com
• University courses on iOS (published on iTunes U)
45
45giovedì 28 marzo 13
![Page 46: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/46.jpg)
Pragma Night
Books
• Programming in Objective-C
• Cocoa Design Patterns
• Pro Multithreading and Memory Management for iOS and Mac OS X
46
46giovedì 28 marzo 13
![Page 47: iOS Ecosystem](https://reader033.vdocument.in/reader033/viewer/2022060110/555a697cd8b42a972b8b4a44/html5/thumbnails/47.jpg)
Pragma Night
Thank You!
47giovedì 28 marzo 13