O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
iOS Ecosystem
Paolo Tagliani
@pablosproject
#pragma me
• Paolo Tagliani (@PablosProject)
• iOS Developer @Superpartes Innovation Campus
• Founder of #pragma mark
• va...
Agenda
Context
Mobile Market
AppStore
Environment
iOS Devices
Programming
languages
SDK
Distribution
Apple
Developer
Progr...
Context
Mobile Market
The size of the mobile market is huge,

and growing exponentially
Top smartphone vendors
Source: IDC Worldwide Mobile Phone Tracker
700 Million
iPhones sold
March 2015
225 Million
iPads sold
October 2014
Smartphone OS Market Share
Source: idc.com
Smartphone OS Market Share
Source: idc.com
Period Android iOS Others
Q1 2015 78.0% 18.3% 3.7%
Q1 2014 81.2% 15.2% 3.6%
Q1 ...
Developer Revenue
• 1.200.000 Applications (June 2014)
• 75.000.000.000+ downloads
• 800 million iTunes accounts, with credit card
• the iOS...
• 1.200.000 Applications (June 2014)
• 75.000.000.000+ downloads
• 800 million iTunes accounts, with credit card
• the iOS...
App Store Revenue
App Store Consistency
• Apple’s highly-controlled environment limits
unwanted phenomenons
• piracy
• fraudulent apps
• cra...
• Every App must pass an approval process
• Good for environment, not so good for
developers (and clients)
App Review
• Every App must pass an approval process
• Good for environment, not so good for
developers (and clients)
App Review
http...
Requirements
iOS development is
easy!
iOS development is
easy!
Prerequisites
A Mac computer
running OS X 10.9.4 or later
Xcode
(latest version)
Membership requirements
• Apple ID (free)
• Apple Developer Program (ADP) subscription
Skill requirements
• Object Oriented Programming
• C language (optional)
• Objective-C language
• iOS SDK
• Apple guidelin...
Environment
iOS version stats
Earlier
2%iOS 7
20%
iOS 8
78%
As measured by the App Store on March 30, 2015.
Programming languages
Objective- C
• Created by Brad Cox in 1983
• Superset of C
• Tailored for Cocoa development
Objective- C
Objective- C
TIOBE Index
Objective- C
Stack Overflow 2015 Survey
Swift
Swift
• Modern
• Designed for safety
• Fast and powerful
• Interactive playgrounds
Swift
• Modern
• Designed for safety
• Fast and powerful
• Interactive playgrounds
SDK
iOS
• Mobile operating system

ARM architecture, multitasking, Cocoa Touch,
multi-touch GUI
• Kernel XNU (like MAC OS X)

...
Cocoa Touch frameworks
UIKit
New frameworks
New frameworks
WatchKit
PhotoKit
HealthKit
HomeKit
Metal
Distribution
Distribution
Apple developer program
iOS Developer
Program
99$/year
App Store
100 devices
iOS Developer
University Program
free
NO App ...
Concepts
• Certificate

univocally identifies an actor
• Device

Devices must be enabled for testing
• App ID

Unique identi...
Certificates
• Development Certificate
Each person in the team has his own
• Distribution Certificate

There’s one for the wh...
Devices
• Purpose

devices are used during development and testing
• Name + UDID

Unique Device IDentifier, 40 char-long st...
App IDs
• Bundle Identifier

unique identifier for the app
• Reverse domain name

e.g. com.mycompany.BestAppEver
• Wildcard ...
App IDs
Provisioning Profile
• What is it?

it’s a resource (a file) which bundles the App ID, the
device list and the certificates o...
Provisioning Profile
• Development Provisioning Profile
‣ App ID
‣ (Development) certificate list (1 or more)
‣ Device list
Provisioning Profile
• Development Provisioning Profile
‣ App ID
‣ (Development) certificate list (1 or more)
‣ Device list
Provisioning Profile
• Distribution Provisioning Profile
‣ Distribution method (App Store or AdHoc)
‣ App ID
‣ (Distribution...
Ad hoc distribution
App Store Distribution
WTF?!
Beta distribution
• Can distribuite to testers before going on store
• Internal testers:
• Up to 25 testers
• No review
• ...
Beta distribution
Tools
Xcode
Xcode
• Integrated Development Environment
• Objective-C / Objective-C++ / C++ / C
• LLVM and GCC compilers and debuggers
...
Simulator
• iPhone / iPhone Retina (3.5” / 4” / 4.7” / 5.5”) /
iPad / iPad Retina
• Gestures, Orientation change, Memory W...
Simulator
Instruments
• Application performance analyzer and visualizer
• Integrated with Xcode
• Tracks user events, CPU activity, ...
Instruments
Resources
Apple documentation
• iOS developer library
• Swift blog
• Apple developer forums
• WWDC videos
Books
• Programming in Objective-C
• Cocoa Design Patterns
• Pro Multithreading and Memory Management
for iOS and Mac OS X
Video
• NSScreencast
• Ray Wenderlich
• lynda.com
Vibrant community
• #pragma mark
• Cocoapods
• StackOverflow
• Conferences
Questions?
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
IOS ecosystem
Próximos SlideShares
Carregando em…5
×

IOS ecosystem

479 visualizações

Publicada em

Presentation given at the 7th iOS Bootcamp in Catania.
http://pragmamark.org/events/ios-bootcamp-7th-edition/

Publicada em: Tecnologia
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes.........ACCESS WEBSITE Over for All Ebooks ..... (Unlimited) ......................................................................................................................... Download FULL PDF EBOOK here { https://urlzs.com/UABbn } .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

IOS ecosystem

  1. 1. iOS Ecosystem Paolo Tagliani @pablosproject
  2. 2. #pragma me • Paolo Tagliani (@PablosProject) • iOS Developer @Superpartes Innovation Campus • Founder of #pragma mark • various stuff… • @PablosProject • http://www.pablosproject.com • https://www.facebook.com/paolo.tagliani • https://github.com/pablosproject • More…
  3. 3. Agenda Context Mobile Market AppStore Environment iOS Devices Programming languages SDK Distribution Apple Developer Programs Distribution Profile Beta Tools Xcode Simulator Instruments
  4. 4. Context
  5. 5. Mobile Market The size of the mobile market is huge,
 and growing exponentially
  6. 6. Top smartphone vendors Source: IDC Worldwide Mobile Phone Tracker
  7. 7. 700 Million iPhones sold March 2015
  8. 8. 225 Million iPads sold October 2014
  9. 9. Smartphone OS Market Share Source: idc.com
  10. 10. Smartphone OS Market Share Source: idc.com Period Android iOS Others Q1 2015 78.0% 18.3% 3.7% Q1 2014 81.2% 15.2% 3.6% Q1 2013 75.5% 16.9% 7.6%
  11. 11. Developer Revenue
  12. 12. • 1.200.000 Applications (June 2014) • 75.000.000.000+ downloads • 800 million iTunes accounts, with credit card • the iOS customer is much more willing to pay than other platforms customer App Store
  13. 13. • 1.200.000 Applications (June 2014) • 75.000.000.000+ downloads • 800 million iTunes accounts, with credit card • the iOS customer is much more willing to pay than other platforms customer App Store World largest credit card database
  14. 14. App Store Revenue
  15. 15. App Store Consistency • Apple’s highly-controlled environment limits unwanted phenomenons • piracy • fraudulent apps • crappy apps
  16. 16. • Every App must pass an approval process • Good for environment, not so good for developers (and clients) App Review
  17. 17. • Every App must pass an approval process • Good for environment, not so good for developers (and clients) App Review http://appreviewtimes.com/
  18. 18. Requirements
  19. 19. iOS development is easy!
  20. 20. iOS development is easy!
  21. 21. Prerequisites A Mac computer running OS X 10.9.4 or later Xcode (latest version)
  22. 22. Membership requirements • Apple ID (free) • Apple Developer Program (ADP) subscription
  23. 23. Skill requirements • Object Oriented Programming • C language (optional) • Objective-C language • iOS SDK • Apple guidelines • Provisioning procedures June 2014
  24. 24. Environment
  25. 25. iOS version stats Earlier 2%iOS 7 20% iOS 8 78% As measured by the App Store on March 30, 2015.
  26. 26. Programming languages
  27. 27. Objective- C
  28. 28. • Created by Brad Cox in 1983 • Superset of C • Tailored for Cocoa development Objective- C
  29. 29. Objective- C TIOBE Index
  30. 30. Objective- C Stack Overflow 2015 Survey
  31. 31. Swift
  32. 32. Swift • Modern • Designed for safety • Fast and powerful • Interactive playgrounds
  33. 33. Swift • Modern • Designed for safety • Fast and powerful • Interactive playgrounds
  34. 34. SDK
  35. 35. 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
  36. 36. Cocoa Touch frameworks UIKit
  37. 37. New frameworks
  38. 38. New frameworks WatchKit PhotoKit HealthKit HomeKit Metal
  39. 39. Distribution
  40. 40. Distribution
  41. 41. Apple developer program iOS Developer Program 99$/year App Store 100 devices iOS Developer University Program free NO App Store 200 devices iOS Developer Enterprise Program 299$/year NO App Store ∞ devices
  42. 42. Concepts • Certificate
 univocally identifies an actor • Device
 Devices must be enabled for testing • App ID
 Unique identifier for the app • Provisioning profile
 Asset which encloses the three concepts above
  43. 43. Certificates • Development Certificate Each person in the team has his own • Distribution Certificate
 There’s one for the whole company (or single developer)

  44. 44. Devices • Purpose
 devices are used during development and testing • Name + UDID
 Unique Device IDentifier, 40 char-long string
 e.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 (only disabled)
  45. 45. App IDs • Bundle Identifier
 unique identifier for the app • Reverse domain name
 e.g. com.mycompany.BestAppEver • Wildcard character
 e.g. com.mycompany.*
  46. 46. App IDs
  47. 47. 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
  48. 48. Provisioning Profile • Development Provisioning Profile ‣ App ID ‣ (Development) certificate list (1 or more) ‣ Device list
  49. 49. Provisioning Profile • Development Provisioning Profile ‣ App ID ‣ (Development) certificate list (1 or more) ‣ Device list
  50. 50. Provisioning Profile • Distribution Provisioning Profile ‣ Distribution method (App Store or AdHoc) ‣ App ID ‣ (Distribution) certificate ‣ Device list (only in case of AdHoc deployment)
  51. 51. Ad hoc distribution
  52. 52. App Store Distribution
  53. 53. WTF?!
  54. 54. Beta distribution • Can distribuite to testers before going on store • Internal testers: • Up to 25 testers • No review • External testers: • Up to 1000 testers • Beta review
  55. 55. Beta distribution
  56. 56. Tools
  57. 57. Xcode
  58. 58. Xcode • Integrated Development Environment • Objective-C / Objective-C++ / C++ / C • LLVM and GCC compilers and debuggers • Interface Builder • Source Control (Subversion / Git) • Apple developer documentation
  59. 59. Simulator • iPhone / iPhone Retina (3.5” / 4” / 4.7” / 5.5”) / iPad / iPad Retina • Gestures, Orientation change, Memory Warnings • GPS • Apps: Safari, Photos, Contacts, Settings, Game Center, News Stand • Fast! (It’s x86 and runs x86 apps, no ARM emulation)
  60. 60. Simulator
  61. 61. 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
  62. 62. Instruments
  63. 63. Resources
  64. 64. Apple documentation • iOS developer library • Swift blog • Apple developer forums • WWDC videos
  65. 65. Books • Programming in Objective-C • Cocoa Design Patterns • Pro Multithreading and Memory Management for iOS and Mac OS X
  66. 66. Video • NSScreencast • Ray Wenderlich • lynda.com
  67. 67. Vibrant community • #pragma mark • Cocoapods • StackOverflow • Conferences
  68. 68. Questions?

×