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

Post on 19-Oct-2014

531 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

Transcript

Jon Flanders@jon!anders

What’s new in iOS7Xcode

Tuesday, September 3, 13

What You Will Learn

Tuesday, September 3, 13

What You Will Learn

§ The new features in Xcode5 that give you powerful tools for developing for iOS7

Tuesday, September 3, 13

UI Improvements

Tuesday, September 3, 13

UI Improvements

§ Tool bar 30% smaller

Tuesday, September 3, 13

UI Improvements

§ Tool bar 30% smaller§ Documentation breaks out into its own dedicated window

Tuesday, September 3, 13

UI Improvements

§ Tool bar 30% smaller§ Documentation breaks out into its own dedicated window

o Support for tabs

Tuesday, September 3, 13

UI Improvements

§ Tool bar 30% smaller§ Documentation breaks out into its own dedicated window

o Support for tabso Enhanced bookmark support

Tuesday, September 3, 13

UI Improvements

§ Tool bar 30% smaller§ Documentation breaks out into its own dedicated window

o Support for tabso Enhanced bookmark supporto Easy share of items via email or message

Tuesday, September 3, 13

UI Improvements

§ Tool bar 30% smaller§ Documentation breaks out into its own dedicated window

o Support for tabso Enhanced bookmark supporto Easy share of items via email or message

§ Simpli!ed “Open Quickly” dialog

Tuesday, September 3, 13

UI Improvements

§ Tool bar 30% smaller§ Documentation breaks out into its own dedicated window

o Support for tabso Enhanced bookmark supporto Easy share of items via email or message

§ Simpli!ed “Open Quickly” dialog§ Re!ned search navigator

Tuesday, September 3, 13

Project Templates

Tuesday, September 3, 13

Project Templates

§ One new project template

Tuesday, September 3, 13

Project Templates

§ One new project templateo Sprite Kit Game

Tuesday, September 3, 13

Project Templates

§ One new project templateo Sprite Kit Game

§ Under iOS project templates, no more options for...

Tuesday, September 3, 13

Project Templates

§ One new project templateo 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

Project Templates

§ One new project templateo Sprite Kit Game

§ Under iOS project templates, no more options for...o ...using ARC or not – ARC is on by defaulto ...not using Storyboards – Storyboard support is turned on by default

Tuesday, September 3, 13

Automatic Con!guration of Pro!les

Tuesday, September 3, 13

Automatic Con!guration of Pro!les

§ Accounts (under preferences) enables you to add multiple developer program Apple IDs

Tuesday, September 3, 13

Automatic Con!guration of Pro!les

§ Accounts (under preferences) enables you to add multiple developer program Apple IDs

§ You pick the correct team on project settings

Tuesday, September 3, 13

Automatic Con!guration of Pro!les

§ Accounts (under preferences) enables you to add multiple developer program Apple IDs

§ You pick the correct team on project settingso If anything is wrong, Xcode !xes it for you automatically

Tuesday, September 3, 13

Automatic Con!guration of Pro!les

§ Accounts (under preferences) enables you to add multiple developer program Apple IDs

§ You pick the correct team on project settingso If anything is wrong, Xcode !xes it for you automaticallyo No having to mess with provisioning pro!le downloads

Tuesday, September 3, 13

Automatic Con!guration of Pro!les

§ Accounts (under preferences) enables you to add multiple developer program Apple IDs

§ You pick the correct team on project settingso If anything is wrong, Xcode !xes it for you automaticallyo No having to mess with provisioning pro!le downloads

§ Dev pro!le is exportable for working on new or multiple machines

Tuesday, September 3, 13

Automatic Con!guration of Pro!les

§ Accounts (under preferences) enables you to add multiple developer program Apple IDs

§ You pick the correct team on project settingso If anything is wrong, Xcode !xes it for you automaticallyo No having to mess with provisioning pro!le downloads

§ Dev pro!le is exportable for working on new or multiple machineso Import Dev pro!le

Tuesday, September 3, 13

Automatic Con!guration of Pro!les

§ Accounts (under preferences) enables you to add multiple developer program Apple IDs

§ You pick the correct team on project settingso If anything is wrong, Xcode !xes it for you automaticallyo No having to mess with provisioning pro!le downloads

§ Dev pro!le is exportable for working on new or multiple machineso Import Dev pro!le

§ View team details page

Tuesday, September 3, 13

Automatic Con!guration of Pro!les

§ Accounts (under preferences) enables you to add multiple developer program Apple IDs

§ You pick the correct team on project settingso If anything is wrong, Xcode !xes it for you automaticallyo No having to mess with provisioning pro!le downloads

§ Dev pro!le is exportable for working on new or multiple machineso Import Dev pro!le

§ View team details pageo Export one identity

Tuesday, September 3, 13

Capabilities

Tuesday, September 3, 13

Capabilities

§ In the past, con!guring a capability usually involved multiple steps

Tuesday, September 3, 13

Capabilities

§ In the past, con!guring a capability usually involved multiple stepso Modifying provisioning pro!le

Tuesday, September 3, 13

Capabilities

§ In the past, con!guring a capability usually involved multiple stepso Modifying provisioning pro!leo Modifying Info.plist and/or entitlement !les

Tuesday, September 3, 13

Capabilities

§ In the past, con!guring a capability usually involved multiple stepso Modifying provisioning pro!leo Modifying Info.plist and/or entitlement !les

§ Turn on via the new UI and the feature is automatically con!gured

Tuesday, September 3, 13

Capabilities

§ In the past, con!guring a capability usually involved multiple stepso Modifying provisioning pro!leo Modifying Info.plist and/or entitlement !les

§ Turn on via the new UI and the feature is automatically con!guredo iCloud, Game Center, Passbook, In-App Purchases, etc.

Tuesday, September 3, 13

Compiler Enhancements

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM only

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM onlyo No more gcc

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM onlyo No more gcc

§ New feature – Modules

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM onlyo No more gcc

§ New feature – Moduleso @import (binary) replaces #import (textual) for framework libraries

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM onlyo No more gcc

§ New feature – Moduleso @import (binary) replaces #import (textual) for framework librarieso Automatically imports other modules as needed

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM onlyo No more gcc

§ New feature – Moduleso @import (binary) replaces #import (textual) for framework librarieso Automatically imports other modules as needed

§ Compiler

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM onlyo No more gcc

§ New feature – Moduleso @import (binary) replaces #import (textual) for framework librarieso Automatically imports other modules as needed

§ Compilero Auto-vectorizer

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM onlyo No more gcc

§ New feature – Moduleso @import (binary) replaces #import (textual) for framework librarieso Automatically imports other modules as needed

§ Compilero Auto-vectorizero Doc comments appear automatically in quick help for your APIs

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM onlyo No more gcc

§ New feature – Moduleso @import (binary) replaces #import (textual) for framework librarieso Automatically imports other modules as needed

§ Compilero Auto-vectorizero Doc comments appear automatically in quick help for your APIs

§ Static analyzer much more powerful

Tuesday, September 3, 13

Compiler Enhancements

§ LLVM onlyo No more gcc

§ New feature – Moduleso @import (binary) replaces #import (textual) for framework librarieso Automatically imports other modules as needed

§ Compilero Auto-vectorizero Doc comments appear automatically in quick help for your APIs

§ Static analyzer much more powerfulo Can now analyze just a single !le

Tuesday, September 3, 13

Command Line Tools

Tuesday, September 3, 13

Command Line Tools

§ No longer a separate download

Tuesday, September 3, 13

Command Line Tools

§ No longer a separate download§ Tools updated automatically with Xcode

Tuesday, September 3, 13

Performance

Tuesday, September 3, 13

Performance

§ Xcode has moved to ARC

Tuesday, September 3, 13

Performance

§ Xcode has moved to ARCo Contributes to its overall performance enhancements

Tuesday, September 3, 13

Performance

§ Xcode has moved to ARCo Contributes to its overall performance enhancements

§ 2x improvement in nib compilation, searching, and incremental rebuild

Tuesday, September 3, 13

Performance

§ Xcode has moved to ARCo Contributes to its overall performance enhancements

§ 2x improvement in nib compilation, searching, and incremental rebuild§ 5x improvement for device detection

Tuesday, September 3, 13

Performance

§ Xcode has moved to ARCo 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

Interface Builder

Tuesday, September 3, 13

Interface Builder

§ Complete redesign of Auto Layout in IB

Tuesday, September 3, 13

Interface Builder

§ Complete redesign of Auto Layout in IBo Nothing happens until you tell it to

Tuesday, September 3, 13

Interface Builder

§ Complete redesign of Auto Layout in IBo Nothing happens until you tell it too Can automatically add missing constraints

Tuesday, September 3, 13

Interface Builder

§ Complete redesign of Auto Layout in IBo Nothing happens until you tell it too Can automatically add missing constraints

§ Preview using the Assistant Editor

Tuesday, September 3, 13

Interface Builder

§ Complete redesign of Auto Layout in IBo Nothing happens until you tell it too Can automatically add missing constraints

§ Preview using the Assistant Editoro Can see how your UI will work in different devices

Tuesday, September 3, 13

Interface Builder

§ Complete redesign of Auto Layout in IBo Nothing happens until you tell it too Can automatically add missing constraints

§ Preview using the Assistant Editoro 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

Asset Catalog

Tuesday, September 3, 13

Asset Catalog

§ Image management has always been complicated in Xcode

Tuesday, September 3, 13

Asset Catalog

§ Image management has always been complicated in Xcodeo Especially after retina displays and iPad was added for iOS project

Tuesday, September 3, 13

Asset Catalog

§ Image management has always been complicated in Xcodeo Especially after retina displays and iPad was added for iOS project

§ Based on naming convention

Tuesday, September 3, 13

Asset Catalog

§ Image management has always been complicated in Xcodeo Especially after retina displays and iPad was added for iOS project

§ Based on naming conventiono Default.png - Default@2x.png - Default-568@2x.png etc. etc.

Tuesday, September 3, 13

Asset Catalog

§ Image management has always been complicated in Xcodeo Especially after retina displays and iPad was added for iOS project

§ Based on naming conventiono Default.png - Default@2x.png - Default-568@2x.png etc. etc.o AKA image name-mangling hell

Tuesday, September 3, 13

Asset Catalog

§ Image management has always been complicated in Xcodeo Especially after retina displays and iPad was added for iOS project

§ Based on naming conventiono Default.png - Default@2x.png - Default-568@2x.png etc. etc.o AKA image name-mangling hell

§ “Asset Catalog” is a single entry in the Xcode project navigator

Tuesday, September 3, 13

Asset Catalog

§ Image management has always been complicated in Xcodeo Especially after retina displays and iPad was added for iOS project

§ Based on naming conventiono Default.png - Default@2x.png - Default-568@2x.png etc. etc.o AKA image name-mangling hell

§ “Asset Catalog” is a single entry in the Xcode project navigatoro Maintains list of images, including AppIcon and LaunchImages

Tuesday, September 3, 13

Asset Catalog

§ Image management has always been complicated in Xcodeo Especially after retina displays and iPad was added for iOS project

§ Based on naming conventiono Default.png - Default@2x.png - Default-568@2x.png etc. etc.o AKA image name-mangling hell

§ “Asset Catalog” is a single entry in the Xcode project navigatoro Maintains list of images, including AppIcon and LaunchImageso For each image, it shows all resolutions of the image

Tuesday, September 3, 13

Asset Catalog

§ Image management has always been complicated in Xcodeo Especially after retina displays and iPad was added for iOS project

§ Based on naming conventiono Default.png - Default@2x.png - Default-568@2x.png etc. etc.o AKA image name-mangling hell

§ “Asset Catalog” is a single entry in the Xcode project navigatoro Maintains list of images, including AppIcon and LaunchImageso For each image, it shows all resolutions of the imageo Name isn’t important

Tuesday, September 3, 13

Image Slicing

Tuesday, September 3, 13

Image Slicing

§ Xcode now has built-in image slicing for buttons

Tuesday, September 3, 13

Image Slicing

§ Xcode now has built-in image slicing for buttons§ Will automatically suggest ways to slice

Tuesday, September 3, 13

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

Debugger

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB only

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gauges

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcode

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead o Instruments still has more information

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead o Instruments still has more information o Can get to Instruments directly from gauges detail page

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead o Instruments still has more information o Can get to Instruments directly from gauges detail page

§ Breakpoints

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead o Instruments still has more information o Can get to Instruments directly from gauges detail page

§ Breakpointso Breakpoint off button in debug menu

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead o Instruments still has more information o Can get to Instruments directly from gauges detail page

§ Breakpointso Breakpoint off button in debug menu

§ Data tips inline

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead o Instruments still has more information o Can get to Instruments directly from gauges detail page

§ Breakpointso Breakpoint off button in debug menu

§ Data tips inlineo Info prints description

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead o Instruments still has more information o Can get to Instruments directly from gauges detail page

§ Breakpointso Breakpoint off button in debug menu

§ Data tips inlineo Info prints descriptiono Graphical resources

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead o Instruments still has more information o Can get to Instruments directly from gauges detail page

§ Breakpointso Breakpoint off button in debug menu

§ Data tips inlineo Info prints descriptiono Graphical resources

§ Show View Frames and Drawing in debug menu

Tuesday, September 3, 13

Debugger

§ LLVM-LLDB onlyo LLVM-GDB gone

§ Debug gaugeso Some performance information right inside of Xcodeo Less than 1% overhead o Instruments still has more information o Can get to Instruments directly from gauges detail page

§ Breakpointso Breakpoint off button in debug menu

§ Data tips inlineo Info prints descriptiono Graphical resources

§ Show View Frames and Drawing in debug menuo For AppKit (OSX) apps only

Tuesday, September 3, 13

Static Analyzer

Tuesday, September 3, 13

Static Analyzer

§ New analysis checks

Tuesday, September 3, 13

Static Analyzer

§ New analysis checks§ Deeper Objective-C analysis

Tuesday, September 3, 13

Static Analyzer

§ New analysis checks§ Deeper Objective-C analysis§ C++ constructors

Tuesday, September 3, 13

Static Analyzer

§ New analysis checks§ Deeper Objective-C analysis§ C++ constructors§ Analyze a single !le

Tuesday, September 3, 13

Testing

Tuesday, September 3, 13

Testing

§ Test Navigator

Tuesday, September 3, 13

Testing

§ Test Navigatoro Command-U to run all tests

Tuesday, September 3, 13

Testing

§ Test Navigatoro Command-U to run all testso You can run just one test at a time if you want

Tuesday, September 3, 13

Testing

§ Test Navigatoro Command-U to run all testso You can run just one test at a time if you want

§ XCTest

Tuesday, September 3, 13

Testing

§ Test Navigatoro Command-U to run all testso You can run just one test at a time if you want

§ XCTest o Replaces OCTest

Tuesday, September 3, 13

Testing

§ Test Navigatoro Command-U to run all testso You can run just one test at a time if you want

§ XCTest o Replaces OCTesto Can run them from the command line

Tuesday, September 3, 13

Testing

§ Test Navigatoro Command-U to run all testso You can run just one test at a time if you want

§ XCTest o Replaces OCTesto Can run them from the command line

§ Related !les can be pulled up automatically with the Assistant Editor

Tuesday, September 3, 13

Source Control

Tuesday, September 3, 13

Source Control

§ New nib !le support supports auto-merging

Tuesday, September 3, 13

Source Control

§ New nib !le support supports auto-mergingo Finally!!!!!!!

Tuesday, September 3, 13

Source Control

§ New nib !le support supports auto-mergingo Finally!!!!!!!

§ Direct support for branch-based development

Tuesday, September 3, 13

Source Control

§ New nib !le support supports auto-mergingo Finally!!!!!!!

§ Direct support for branch-based development§ Source control menu

Tuesday, September 3, 13

Source Control

§ New nib !le support supports auto-mergingo Finally!!!!!!!

§ Direct support for branch-based development§ Source control menu§ Per-line blame

Tuesday, September 3, 13

Source Control

§ New nib !le support supports auto-mergingo Finally!!!!!!!

§ Direct support for branch-based development§ Source control menu§ Per-line blame§ Source control con!guration

Tuesday, September 3, 13

Source Control

§ New nib !le support supports auto-mergingo Finally!!!!!!!

§ Direct support for branch-based development§ Source control menu§ Per-line blame§ Source control con!guration§ Check out from main screen

Tuesday, September 3, 13

Source Control

§ New nib !le support supports auto-mergingo Finally!!!!!!!

§ Direct support for branch-based development§ Source control menu§ Per-line blame§ Source control con!guration§ Check out from main screen§ Git repository supported on OSX Server

Tuesday, September 3, 13

Bot

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

o Builds

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

o Buildso Tests

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

o Buildso Tests

§ Can execute on simulators and/or devices

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

o Buildso Tests

§ Can execute on simulators and/or devices§ Runs automatically on commit or on a schedule

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

o Buildso Tests

§ Can execute on simulators and/or devices§ Runs automatically on commit or on a schedule

o Continuous integration (CI) work#ow possible with no third-party software

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

o Buildso Tests

§ Can execute on simulators and/or devices§ Runs automatically on commit or on a schedule

o Continuous integration (CI) work#ow possible with no third-party software

§ Bot reports integrated into Xcode

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

o Buildso Tests

§ Can execute on simulators and/or devices§ Runs automatically on commit or on a schedule

o Continuous integration (CI) work#ow possible with no third-party software

§ Bot reports integrated into Xcode§ Integration reports also right in Xcode

Tuesday, September 3, 13

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

o Buildso Tests

§ Can execute on simulators and/or devices§ Runs automatically on commit or on a schedule

o Continuous integration (CI) work#ow 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

Bot

§ Autonomous agent that runs on OSX Server§ Can execute any project scheme

o Buildso Tests

§ Can execute on simulators and/or devices§ Runs automatically on commit or on a schedule

o Continuous integration (CI) work#ow 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

Summary

Tuesday, September 3, 13

Summary

§ Improvements in Xcode make it much easier to build apps for iOS7

Tuesday, September 3, 13

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

top related