The document provides an overview of iOS development and reasons for developing for the iOS platform. It discusses the iOS ecosystem and various device specifications like displays, processors and memory. It outlines the hardware, membership and skill requirements needed for iOS development. Finally, it briefly introduces the Apple Developer Program.
13. iOS Bootcamp
Reason #2: Consistency
• The iOS platform is highly consistent
• just 3 different device families (iPhone, iPad,
iPod)
14. iOS Bootcamp
Reason #2: Consistency
• The iOS platform is highly consistent
• just 3 different device families (iPhone, iPad,
iPod)
• they target the high-end market
15. iOS Bootcamp
Reason #2: Consistency
• The iOS platform is highly consistent
• just 3 different device families (iPhone, iPad,
iPod)
• they target the high-end market
• well known features and APIs
16. iOS Bootcamp
Reason #2: Consistency
Earlier!
2%
iOS 6!
11%
iOS 7!
87%
87% of devices are
using iOS7
As measured by the App Store
during a 7‑day period ending
April 6, 2014.
18. iOS Bootcamp
Reason #3: Environment
Apple’s mission: create an environment around the user,
not just sell products.
19. iOS Bootcamp
Reason #3: Environment
• 800 million iTunes accounts, with credit card
Apple’s mission: create an environment around the user,
not just sell products.
20. iOS Bootcamp
Reason #3: Environment
• 800 million 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.
21. iOS Bootcamp
Reason #3: Environment
• 800 million 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.
30. iOS Bootcamp
Reason #4: Resources
• iOS frameworks and APIs are of first-class quality
• The documentation is structured and exhaustive
31. iOS Bootcamp
Reason #4: Resources
• iOS frameworks and APIs are of first-class quality
• The documentation is structured and exhaustive
• Great books, articles, videos and tutorials
32. iOS Bootcamp
Reason #4: Resources
• iOS frameworks and APIs are of first-class quality
• The documentation is structured and exhaustive
• Great books, articles, videos and tutorials
• High-quality developer community
35. iOS Bootcamp
Reason #4: Resources
• Development tools by Apple
• Xcode is a full featured IDE
36. iOS Bootcamp
Reason #4: Resources
• Development tools by Apple
• Xcode is a full featured IDE
• Interface Builder is great for designing user
interfaces
37. iOS Bootcamp
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
38. iOS Bootcamp
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
41. iOS Bootcamp
Reason #5: Fun!
• iOS devices are equipped with all sorts of sensors
• their computational power is enough even for the
more advanced tasks
42. iOS Bootcamp
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 Net
43. iOS Bootcamp
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 Net
There is no limit to imagination!
51. iOS Bootcamp
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, store policies, etc.)
99. iOS Bootcamp
Hardware requirements
• A Mac (iMac, Mac mini, Mac Pro, MacBook family)
• OS X (10.7+)
• Xcode (4.0+)
• An iOS device (not mandatory, but recommended)
100. iOS Bootcamp
Hardware requirements
• A Mac (iMac, Mac mini, Mac Pro, 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)
115. iOS Bootcamp
Apple Developer Program
Name Price Deployment
iOS Developer
Program
$99/year App Store / 100 devices
Developer Programs
116. iOS Bootcamp
Apple Developer Program
Name Price Deployment
iOS Developer
Program
$99/year App Store / 100 devices
iOS Developer
Enterprise Program
Developer Programs
117. iOS Bootcamp
Apple Developer Program
Name Price Deployment
iOS Developer
Program
$99/year App Store / 100 devices
iOS Developer
Enterprise Program
$299/year
Developer Programs
118. iOS Bootcamp
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
Developer Programs
119. iOS Bootcamp
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
Developer Programs
120. iOS Bootcamp
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
Developer Programs
121. iOS Bootcamp
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
Developer Programs
126. iOS Bootcamp
ADP Sections
• Member Center
• manage users
• ADP subscription and renewal
• iOS Provisioning Portal
127. iOS Bootcamp
ADP Sections
• Member Center
• manage users
• ADP subscription and renewal
• iOS Provisioning Portal
• development and distribution certificates
128. iOS Bootcamp
ADP Sections
• Member Center
• manage users
• ADP subscription and renewal
• iOS Provisioning Portal
• development and distribution certificates
• adding and removing devices
129. iOS Bootcamp
ADP Sections
• Member Center
• manage users
• ADP subscription and renewal
• iOS Provisioning Portal
• development and distribution certificates
• adding and removing devices
• iTunes Connect
130. iOS Bootcamp
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
131. iOS Bootcamp
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
132. iOS Bootcamp
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
137. iOS Bootcamp
Concepts
• Certificate
univocally identifies an actor
• Device
Devices must be enabled for testing
• App ID
Unique identifier for the app
• Provisioning profile
Asset enclosing the three concepts above
140. iOS Bootcamp
Certificates
• Development Certificate
Each person in the team has his own
• Distribution Certificate
There’s one for the whole company (or single
developer)
143. iOS Bootcamp
Devices
• Purpose
devices can be used for development and testing
• Name + UDID
Unique Device IDentifier, 40 char-long string
e.g. 67a43b0925c7a8050ad788591ace81d1bda81bed
144. iOS Bootcamp
Devices
• Purpose
devices can be used for development and testing
• Name + UDID
Unique Device IDentifier, 40 char-long string
e.g. 67a43b0925c7a8050ad788591ace81d1bda81bed
• Limits
145. iOS Bootcamp
Devices
• Purpose
devices can be used for development and testing
• Name + UDID
Unique Device IDentifier, 40 char-long string
e.g. 67a43b0925c7a8050ad788591ace81d1bda81bed
• Limits
• The ADP allows for a maximum of 100 devices
146. iOS Bootcamp
Devices
• Purpose
devices can be used for development and testing
• Name + UDID
Unique Device IDentifier, 40 char-long string
e.g. 67a43b0925c7a8050ad788591ace81d1bda81bed
• Limits
• The ADP allows for a maximum of 100 devices
• A device can’t be removed from the list until the next
renewal of the subscription
149. iOS Bootcamp
App IDs
• Bundle Identifier
unique identifier for the app
• Reverse domain name
e.g. com.mycompany.BestAppEver
150. iOS Bootcamp
App IDs
• Bundle Identifier
unique identifier for the app
• Reverse domain name
e.g. com.mycompany.BestAppEver
• Wildcard character
e.g. com.mycompany.*
152. iOS Bootcamp
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
153. iOS Bootcamp
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
154. iOS Bootcamp
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
160. iOS Bootcamp
Provisioning Profile
• Development Provisioning Profile
‣ App ID
‣ (Development) certificate list
‣ Device list
• Distribution Provisioning Profile
161. iOS Bootcamp
Provisioning Profile
• Development Provisioning Profile
‣ App ID
‣ (Development) certificate list
‣ Device list
• Distribution Provisioning Profile
‣ Distribution method (App Store or AdHoc)
162. iOS Bootcamp
Provisioning Profile
• Development Provisioning Profile
‣ App ID
‣ (Development) certificate list
‣ Device list
• Distribution Provisioning Profile
‣ Distribution method (App Store or AdHoc)
‣ App ID
163. iOS Bootcamp
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
164. iOS Bootcamp
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)
167. iOS Bootcamp
iOS
• Mobile operating system
ARM architecture, multitasking, Cocoa Touch,
multi-touch GUI
168. iOS Bootcamp
iOS
• Mobile operating system
ARM 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
169. iOS Bootcamp
iOS
• Mobile operating system
ARM 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
175. iOS Bootcamp
Tools
• Xcode
The natural environment for app development and
UI layout
• iOS Simulator
The handy way of running and testing apps
176. iOS Bootcamp
Tools
• Xcode
The natural environment for app development and
UI layout
• iOS Simulator
The handy way of running and testing apps
• Instruments
The perfect tool for code analysis and profiling