Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2 whats-new-in-ios7-m2-xcode-slides

708 views

Published on

Published in: Technology, Business
  • Be the first to comment

2 whats-new-in-ios7-m2-xcode-slides

  1. 1. What’s new in iOS7 Xcode Jon Flanders @jonflanders Tuesday, September 3, 13
  2. 2. What You Will Learn Tuesday, September 3, 13
  3. 3. What You Will Learn § The new features in Xcode5 that give you powerful tools for developing for iOS7 Tuesday, September 3, 13
  4. 4. UI Improvements Tuesday, September 3, 13
  5. 5. UI Improvements § Tool bar 30% smaller Tuesday, September 3, 13
  6. 6. UI Improvements § Tool bar 30% smaller § Documentation breaks out into its own dedicated window Tuesday, September 3, 13
  7. 7. UI Improvements § Tool bar 30% smaller § Documentation breaks out into its own dedicated window o Support for tabs Tuesday, September 3, 13
  8. 8. UI Improvements § Tool bar 30% smaller § Documentation breaks out into its own dedicated window o o Support for tabs Enhanced bookmark support Tuesday, September 3, 13
  9. 9. UI Improvements § Tool bar 30% smaller § Documentation breaks out into its own dedicated window o o o Support for tabs Enhanced bookmark support Easy share of items via email or message Tuesday, September 3, 13
  10. 10. UI Improvements § Tool bar 30% smaller § Documentation breaks out into its own dedicated window o o o Support for tabs Enhanced bookmark support Easy share of items via email or message § Simplified “Open Quickly” dialog Tuesday, September 3, 13
  11. 11. UI Improvements § Tool bar 30% smaller § Documentation breaks out into its own dedicated window o o o Support for tabs Enhanced bookmark support Easy share of items via email or message § Simplified “Open Quickly” dialog § Refined search navigator Tuesday, September 3, 13
  12. 12. Project Templates Tuesday, September 3, 13
  13. 13. Project Templates § One new project template Tuesday, September 3, 13
  14. 14. Project Templates § One new project template o Sprite Kit Game Tuesday, September 3, 13
  15. 15. Project Templates § One new project template o Sprite Kit Game § Under iOS project templates, no more options for... Tuesday, September 3, 13
  16. 16. Project Templates § One new project template o Sprite Kit Game § Under iOS project templates, no more options for... o ...using ARC or not – ARC is on by default Tuesday, September 3, 13
  17. 17. Project Templates § One new project template o Sprite Kit Game § Under iOS project templates, no more options for... o o ...using ARC or not – ARC is on by default ...not using Storyboards – Storyboard support is turned on by default Tuesday, September 3, 13
  18. 18. Automatic Configuration of Profiles Tuesday, September 3, 13
  19. 19. Automatic Configuration of Profiles § Accounts (under preferences) enables you to add multiple developer program Apple IDs Tuesday, September 3, 13
  20. 20. Automatic Configuration of Profiles § Accounts (under preferences) enables you to add multiple developer program Apple IDs § You pick the correct team on project settings Tuesday, September 3, 13
  21. 21. Automatic Configuration of Profiles § Accounts (under preferences) enables you to add multiple developer program Apple IDs § You pick the correct team on project settings o If anything is wrong, Xcode fixes it for you automatically Tuesday, September 3, 13
  22. 22. Automatic Configuration of Profiles § Accounts (under preferences) enables you to add multiple developer program Apple IDs § You pick the correct team on project settings o o If anything is wrong, Xcode fixes it for you automatically No having to mess with provisioning profile downloads Tuesday, September 3, 13
  23. 23. Automatic Configuration of Profiles § Accounts (under preferences) enables you to add multiple developer program Apple IDs § You pick the correct team on project settings o o If anything is wrong, Xcode fixes it for you automatically No having to mess with provisioning profile downloads § Dev profile is exportable for working on new or multiple machines Tuesday, September 3, 13
  24. 24. Automatic Configuration of Profiles § Accounts (under preferences) enables you to add multiple developer program Apple IDs § You pick the correct team on project settings o o If anything is wrong, Xcode fixes it for you automatically No having to mess with provisioning profile downloads § Dev profile is exportable for working on new or multiple machines o Import Dev profile Tuesday, September 3, 13
  25. 25. Automatic Configuration of Profiles § Accounts (under preferences) enables you to add multiple developer program Apple IDs § You pick the correct team on project settings o o If anything is wrong, Xcode fixes it for you automatically No having to mess with provisioning profile downloads § Dev profile is exportable for working on new or multiple machines o Import Dev profile § View team details page Tuesday, September 3, 13
  26. 26. Automatic Configuration of Profiles § Accounts (under preferences) enables you to add multiple developer program Apple IDs § You pick the correct team on project settings o o If anything is wrong, Xcode fixes it for you automatically No having to mess with provisioning profile downloads § Dev profile is exportable for working on new or multiple machines o Import Dev profile § View team details page o Export one identity Tuesday, September 3, 13
  27. 27. Capabilities Tuesday, September 3, 13
  28. 28. Capabilities § In the past, configuring a capability usually involved multiple steps Tuesday, September 3, 13
  29. 29. Capabilities § In the past, configuring a capability usually involved multiple steps o Modifying provisioning profile Tuesday, September 3, 13
  30. 30. Capabilities § In the past, configuring a capability usually involved multiple steps o o Modifying provisioning profile Modifying Info.plist and/or entitlement files Tuesday, September 3, 13
  31. 31. Capabilities § In the past, configuring a capability usually involved multiple steps o o Modifying provisioning profile Modifying Info.plist and/or entitlement files § Turn on via the new UI and the feature is automatically configured Tuesday, September 3, 13
  32. 32. Capabilities § In the past, configuring a capability usually involved multiple steps o o Modifying provisioning profile Modifying Info.plist and/or entitlement files § Turn on via the new UI and the feature is automatically configured o iCloud, Game Center, Passbook, In-App Purchases, etc. Tuesday, September 3, 13
  33. 33. Compiler Enhancements Tuesday, September 3, 13
  34. 34. Compiler Enhancements § LLVM only Tuesday, September 3, 13
  35. 35. Compiler Enhancements § LLVM only o No more gcc Tuesday, September 3, 13
  36. 36. Compiler Enhancements § LLVM only o No more gcc § New feature – Modules Tuesday, September 3, 13
  37. 37. Compiler Enhancements § LLVM only o No more gcc § New feature – Modules o @import (binary) replaces #import (textual) for framework libraries Tuesday, September 3, 13
  38. 38. Compiler Enhancements § LLVM only o No more gcc § New feature – Modules o o @import (binary) replaces #import (textual) for framework libraries Automatically imports other modules as needed Tuesday, September 3, 13
  39. 39. Compiler Enhancements § LLVM only o No more gcc § New feature – Modules o o @import (binary) replaces #import (textual) for framework libraries Automatically imports other modules as needed § Compiler Tuesday, September 3, 13
  40. 40. Compiler Enhancements § LLVM only o No more gcc § New feature – Modules o o @import (binary) replaces #import (textual) for framework libraries Automatically imports other modules as needed § Compiler o Auto-vectorizer Tuesday, September 3, 13
  41. 41. Compiler Enhancements § LLVM only o No more gcc § New feature – Modules o o @import (binary) replaces #import (textual) for framework libraries Automatically imports other modules as needed § Compiler o o Auto-vectorizer Doc comments appear automatically in quick help for your APIs Tuesday, September 3, 13
  42. 42. Compiler Enhancements § LLVM only o No more gcc § New feature – Modules o o @import (binary) replaces #import (textual) for framework libraries Automatically imports other modules as needed § Compiler o o Auto-vectorizer Doc comments appear automatically in quick help for your APIs § Static analyzer much more powerful Tuesday, September 3, 13
  43. 43. Compiler Enhancements § LLVM only o No more gcc § New feature – Modules o o @import (binary) replaces #import (textual) for framework libraries Automatically imports other modules as needed § Compiler o o Auto-vectorizer Doc comments appear automatically in quick help for your APIs § Static analyzer much more powerful o Can now analyze just a single file Tuesday, September 3, 13
  44. 44. Command Line Tools Tuesday, September 3, 13
  45. 45. Command Line Tools § No longer a separate download Tuesday, September 3, 13
  46. 46. Command Line Tools § No longer a separate download § Tools updated automatically with Xcode Tuesday, September 3, 13
  47. 47. Performance Tuesday, September 3, 13
  48. 48. Performance § Xcode has moved to ARC Tuesday, September 3, 13
  49. 49. Performance § Xcode has moved to ARC o Contributes to its overall performance enhancements Tuesday, September 3, 13
  50. 50. Performance § Xcode has moved to ARC o Contributes to its overall performance enhancements § 2x improvement in nib compilation, searching, and incremental rebuild Tuesday, September 3, 13
  51. 51. Performance § Xcode has moved to ARC o Contributes to its overall performance enhancements § 2x improvement in nib compilation, searching, and incremental rebuild § 5x improvement for device detection Tuesday, September 3, 13
  52. 52. Performance § Xcode has moved to ARC o Contributes to its overall performance enhancements § 2x improvement in nib compilation, searching, and incremental rebuild § 5x improvement for device detection § 4x improvement in new tab creation Tuesday, September 3, 13
  53. 53. Interface Builder Tuesday, September 3, 13
  54. 54. Interface Builder § Complete redesign of Auto Layout in IB Tuesday, September 3, 13
  55. 55. Interface Builder § Complete redesign of Auto Layout in IB o Nothing happens until you tell it to Tuesday, September 3, 13
  56. 56. Interface Builder § Complete redesign of Auto Layout in IB o o Nothing happens until you tell it to Can automatically add missing constraints Tuesday, September 3, 13
  57. 57. Interface Builder § Complete redesign of Auto Layout in IB o o Nothing happens until you tell it to Can automatically add missing constraints § Preview using the Assistant Editor Tuesday, September 3, 13
  58. 58. Interface Builder § Complete redesign of Auto Layout in IB o o Nothing happens until you tell it to Can automatically add missing constraints § Preview using the Assistant Editor o Can see how your UI will work in different devices Tuesday, September 3, 13
  59. 59. Interface Builder § Complete redesign of Auto Layout in IB o o Nothing happens until you tell it to Can automatically add missing constraints § Preview using the Assistant Editor o Can see how your UI will work in different devices § IB upgrades your nibs to iOS7/Xcode 5 format only if you give your assent Tuesday, September 3, 13
  60. 60. Asset Catalog Tuesday, September 3, 13
  61. 61. Asset Catalog § Image management has always been complicated in Xcode Tuesday, September 3, 13
  62. 62. Asset Catalog § Image management has always been complicated in Xcode o Especially after retina displays and iPad was added for iOS project Tuesday, September 3, 13
  63. 63. Asset Catalog § Image management has always been complicated in Xcode o Especially after retina displays and iPad was added for iOS project § Based on naming convention Tuesday, September 3, 13
  64. 64. Asset Catalog § Image management has always been complicated in Xcode o Especially after retina displays and iPad was added for iOS project § Based on naming convention o Default.png - Default@2x.png - Default-568@2x.png etc. etc. Tuesday, September 3, 13
  65. 65. Asset Catalog § Image management has always been complicated in Xcode o Especially after retina displays and iPad was added for iOS project § Based on naming convention o o Default.png - Default@2x.png - Default-568@2x.png etc. etc. AKA image name-mangling hell Tuesday, September 3, 13
  66. 66. Asset Catalog § Image management has always been complicated in Xcode o Especially after retina displays and iPad was added for iOS project § Based on naming convention o o Default.png - Default@2x.png - Default-568@2x.png etc. etc. AKA image name-mangling hell § “Asset Catalog” is a single entry in the Xcode project navigator Tuesday, September 3, 13
  67. 67. Asset Catalog § Image management has always been complicated in Xcode o Especially after retina displays and iPad was added for iOS project § Based on naming convention o o Default.png - Default@2x.png - Default-568@2x.png etc. etc. AKA image name-mangling hell § “Asset Catalog” is a single entry in the Xcode project navigator o Maintains list of images, including AppIcon and LaunchImages Tuesday, September 3, 13
  68. 68. Asset Catalog § Image management has always been complicated in Xcode o Especially after retina displays and iPad was added for iOS project § Based on naming convention o o Default.png - Default@2x.png - Default-568@2x.png etc. etc. AKA image name-mangling hell § “Asset Catalog” is a single entry in the Xcode project navigator o o Maintains list of images, including AppIcon and LaunchImages For each image, it shows all resolutions of the image Tuesday, September 3, 13
  69. 69. Asset Catalog § Image management has always been complicated in Xcode o Especially after retina displays and iPad was added for iOS project § Based on naming convention o o Default.png - Default@2x.png - Default-568@2x.png etc. etc. AKA image name-mangling hell § “Asset Catalog” is a single entry in the Xcode project navigator o o o Maintains list of images, including AppIcon and LaunchImages For each image, it shows all resolutions of the image Name isn’t important Tuesday, September 3, 13
  70. 70. Image Slicing Tuesday, September 3, 13
  71. 71. Image Slicing § Xcode now has built-in image slicing for buttons Tuesday, September 3, 13
  72. 72. Image Slicing § Xcode now has built-in image slicing for buttons § Will automatically suggest ways to slice Tuesday, September 3, 13
  73. 73. Image Slicing § Xcode now has built-in image slicing for buttons § Will automatically suggest ways to slice o You can accept, or manually change it Tuesday, September 3, 13
  74. 74. Debugger Tuesday, September 3, 13
  75. 75. Debugger § LLVM-LLDB only Tuesday, September 3, 13
  76. 76. Debugger § LLVM-LLDB only o LLVM-GDB gone Tuesday, September 3, 13
  77. 77. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges Tuesday, September 3, 13
  78. 78. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o Some performance information right inside of Xcode Tuesday, September 3, 13
  79. 79. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o Some performance information right inside of Xcode Less than 1% overhead Tuesday, September 3, 13
  80. 80. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o o Some performance information right inside of Xcode Less than 1% overhead Instruments still has more information Tuesday, September 3, 13
  81. 81. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o o o Some performance information right inside of Xcode Less than 1% overhead Instruments still has more information Can get to Instruments directly from gauges detail page Tuesday, September 3, 13
  82. 82. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o o o Some performance information right inside of Xcode Less than 1% overhead Instruments still has more information Can get to Instruments directly from gauges detail page § Breakpoints Tuesday, September 3, 13
  83. 83. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o o o Some performance information right inside of Xcode Less than 1% overhead Instruments still has more information Can get to Instruments directly from gauges detail page § Breakpoints o Breakpoint off button in debug menu Tuesday, September 3, 13
  84. 84. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o o o Some performance information right inside of Xcode Less than 1% overhead Instruments still has more information Can get to Instruments directly from gauges detail page § Breakpoints o Breakpoint off button in debug menu § Data tips inline Tuesday, September 3, 13
  85. 85. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o o o Some performance information right inside of Xcode Less than 1% overhead Instruments still has more information Can get to Instruments directly from gauges detail page § Breakpoints o Breakpoint off button in debug menu § Data tips inline o Info prints description Tuesday, September 3, 13
  86. 86. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o o o Some performance information right inside of Xcode Less than 1% overhead Instruments still has more information Can get to Instruments directly from gauges detail page § Breakpoints o Breakpoint off button in debug menu § Data tips inline o o Info prints description Graphical resources Tuesday, September 3, 13
  87. 87. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o o o Some performance information right inside of Xcode Less than 1% overhead Instruments still has more information Can get to Instruments directly from gauges detail page § Breakpoints o Breakpoint off button in debug menu § Data tips inline o o Info prints description Graphical resources § Show View Frames and Drawing in debug menu Tuesday, September 3, 13
  88. 88. Debugger § LLVM-LLDB only o LLVM-GDB gone § Debug gauges o o o o Some performance information right inside of Xcode Less than 1% overhead Instruments still has more information Can get to Instruments directly from gauges detail page § Breakpoints o Breakpoint off button in debug menu § Data tips inline o o Info prints description Graphical resources § Show View Frames and Drawing in debug menu o For AppKit (OSX) apps only Tuesday, September 3, 13
  89. 89. Static Analyzer Tuesday, September 3, 13
  90. 90. Static Analyzer § New analysis checks Tuesday, September 3, 13
  91. 91. Static Analyzer § New analysis checks § Deeper Objective-C analysis Tuesday, September 3, 13
  92. 92. Static Analyzer § New analysis checks § Deeper Objective-C analysis § C++ constructors Tuesday, September 3, 13
  93. 93. Static Analyzer § § § § New analysis checks Deeper Objective-C analysis C++ constructors Analyze a single file Tuesday, September 3, 13
  94. 94. Testing Tuesday, September 3, 13
  95. 95. Testing § Test Navigator Tuesday, September 3, 13
  96. 96. Testing § Test Navigator o Command-U to run all tests Tuesday, September 3, 13
  97. 97. Testing § Test Navigator o o Command-U to run all tests You can run just one test at a time if you want Tuesday, September 3, 13
  98. 98. Testing § Test Navigator o o Command-U to run all tests You can run just one test at a time if you want § XCTest Tuesday, September 3, 13
  99. 99. Testing § Test Navigator o o Command-U to run all tests You can run just one test at a time if you want § XCTest o Replaces OCTest Tuesday, September 3, 13
  100. 100. Testing § Test Navigator o o Command-U to run all tests You can run just one test at a time if you want § XCTest o o Replaces OCTest Can run them from the command line Tuesday, September 3, 13
  101. 101. Testing § Test Navigator o o Command-U to run all tests You can run just one test at a time if you want § XCTest o o Replaces OCTest Can run them from the command line § Related files can be pulled up automatically with the Assistant Editor Tuesday, September 3, 13
  102. 102. Source Control Tuesday, September 3, 13
  103. 103. Source Control § New nib file support supports auto-merging Tuesday, September 3, 13
  104. 104. Source Control § New nib file support supports auto-merging o Finally!!!!!!! Tuesday, September 3, 13
  105. 105. Source Control § New nib file support supports auto-merging o Finally!!!!!!! § Direct support for branch-based development Tuesday, September 3, 13
  106. 106. Source Control § New nib file support supports auto-merging o Finally!!!!!!! § Direct support for branch-based development § Source control menu Tuesday, September 3, 13
  107. 107. Source Control § New nib file support supports auto-merging o Finally!!!!!!! § Direct support for branch-based development § Source control menu § Per-line blame Tuesday, September 3, 13
  108. 108. Source Control § New nib file support supports auto-merging o § § § § Finally!!!!!!! Direct support for branch-based development Source control menu Per-line blame Source control configuration Tuesday, September 3, 13
  109. 109. Source Control § New nib file support supports auto-merging o § § § § § Finally!!!!!!! Direct support for branch-based development Source control menu Per-line blame Source control configuration Check out from main screen Tuesday, September 3, 13
  110. 110. Source Control § New nib file support supports auto-merging o § § § § § § Finally!!!!!!! Direct support for branch-based development Source control menu Per-line blame Source control configuration Check out from main screen Git repository supported on OSX Server Tuesday, September 3, 13
  111. 111. Bot Tuesday, September 3, 13
  112. 112. Bot § Autonomous agent that runs on OSX Server Tuesday, September 3, 13
  113. 113. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme Tuesday, September 3, 13
  114. 114. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme o Builds Tuesday, September 3, 13
  115. 115. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme o o Builds Tests Tuesday, September 3, 13
  116. 116. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme o o Builds Tests § Can execute on simulators and/or devices Tuesday, September 3, 13
  117. 117. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme o o Builds Tests § Can execute on simulators and/or devices § Runs automatically on commit or on a schedule Tuesday, September 3, 13
  118. 118. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme o o Builds Tests § Can execute on simulators and/or devices § Runs automatically on commit or on a schedule o Continuous integration (CI) workflow possible with no third-party software Tuesday, September 3, 13
  119. 119. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme o o Builds Tests § Can execute on simulators and/or devices § Runs automatically on commit or on a schedule o Continuous integration (CI) workflow possible with no third-party software § Bot reports integrated into Xcode Tuesday, September 3, 13
  120. 120. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme o o Builds Tests § Can execute on simulators and/or devices § Runs automatically on commit or on a schedule o Continuous integration (CI) workflow possible with no third-party software § Bot reports integrated into Xcode § Integration reports also right in Xcode Tuesday, September 3, 13
  121. 121. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme o o Builds Tests § Can execute on simulators and/or devices § Runs automatically on commit or on a schedule o Continuous integration (CI) workflow possible with no third-party software § Bot reports integrated into Xcode § Integration reports also right in Xcode o Can see commits and go right to blame Tuesday, September 3, 13
  122. 122. Bot § Autonomous agent that runs on OSX Server § Can execute any project scheme o o Builds Tests § Can execute on simulators and/or devices § Runs automatically on commit or on a schedule o Continuous integration (CI) workflow possible with no third-party software § Bot reports integrated into Xcode § Integration reports also right in Xcode o Can see commits and go right to blame § Team scoreboard Tuesday, September 3, 13
  123. 123. Summary Tuesday, September 3, 13
  124. 124. Summary § Improvements in Xcode make it much easier to build apps for iOS7 Tuesday, September 3, 13
  125. 125. Summary § Improvements in Xcode make it much easier to build apps for iOS7 § New unit test and CI features make team development with Xcode much smoother Tuesday, September 3, 13

×