Session 408 - Working With Schemes and Projects in Xcode
Session 408 - Working With Schemes and Projects in Xcode
Session 408 - Working With Schemes and Projects in Xcode
These are confidential sessionsplease refrain from streaming, blogging, or taking pictures
What Is a Scheme?
What Is a Scheme?
What Is a Scheme?
What Is a Scheme?
What Is a Scheme?
What Is a Scheme?
What Is a Scheme?
What Is a Scheme?
What Is a Scheme?
What Is a Scheme?
What Is a Scheme?
Core Concepts
Core Concepts
Workspaces Projects
Build configurations Targets Build settings Build phases Build rules Schemes
Run destinations
Core Concepts
Workspaces Projects
Build configurations Targets Build settings Build phases Build rules Schemes
Run destinations
What Is a Workspace?
Contains references to projects
and other files Groups together projects you want to use together Provides a unique location for state and build products Allows implicit dependencies to be found between targets
Project Concepts
Workspaces Projects
Build configurations Targets Build settings Build phases Build rules Schemes
Run destinations
Whats in a Project?
References to source files Targets which build products Schemes which build targets and
perform actions Build configurations which select variants of target build settings
Build Configurations
Build setting variants
Debug and Release are the default configurations Build settings can have per-configuration variants To vary build settings for another purpose, define a new
build configuration
Project Concepts
Workspaces Projects
Build configurations Targets Build settings Build phases Build rules Schemes
Run destinations
Whats in a Target?
Instructions for building one product
Target Settings
Target Settings
Build Phases
Build Phases
Build Phases
Target Dependencies
Build Phases
Compile Sources
Build Phases
Link Binary with Libraries
Build Phases
Copy Headers
Build Phases
Copy Bundle Resources
Build Phases
Copy Files
Build Phases
Run Script
Build Rules
Build Settings
Build Settings
Build Settings
Build Settings
Build Settings
Build Settings
Build Settings
Build Settings
Build Settings
Project Concepts
Workspaces Projects
Build configurations Targets Build settings Build phases Build rules Schemes
Run destinations
Whats in a Scheme?
Instructions for building targets and performing actions
testing, profiling, analyzing, and archiving products A specification of targets to build for each action
Schemes
Schemes
Schemes
Schemes
Schemes
Schemes
Schemes
You always build with a purpose The action you perform specifies targets and a configuration The default Build command builds for the Run action
Building
Building
Building Options
Project Concepts
Workspaces Projects
Build configurations Targets Build settings Build phases Build rules Schemes
Run destinations
Run Destinations
Run Destinations
Run Destinations
Demo
Scheme actions
Contain only a single application Archives containing anything else cannot be submitted to the Mac
or iOS App Store
Demo
Scheme actions
Build Products
Derived Data
Every workspace has its own derived data directory Workspaces are distinguished by path
Different copies of the same workspace have their own derived data directories
Demo
Working with Build Products
Scheme Management
Managing Schemes
Managing Schemes
Managing Schemes
MyApp.xcodeproj/
MyApp.xcodeproj/
xcuserdata/
MyApp.xcodeproj/
xcsharedata/
xcuserdata/
MyApp.xcodeproj/
xcsharedata/
xcuserdata/
MyApp.xcodeproj/
xcsharedata/
xcschemes/
xcuserdata/
MyApp.xcodeproj/
xcsharedata/
xcschemes/
xcuserdata/
MyApp.xcscheme
MyApp.xcodeproj/
xcsharedata/
xcschemes/
MyFramework.xcscheme
xcuserdata/
MyApp.xcodeproj/
xcsharedata/
xcuserdata/
MyApp.xcodeproj/
xcsharedata/
mirza.xcuserdatad/
xcuserdata/
rick.xcuserdatad/
MyApp.xcodeproj/
xcsharedata/
mirza.xcuserdatad/
xcuserdata/
rick.xcuserdatad/
MyApp.xcodeproj/
xcsharedata/
mirza.xcuserdatad/
xcuserdata/
rick.xcuserdatad/ xcschemes/
MyApp.xcodeproj/
xcsharedata/
mirza.xcuserdatad/
xcuserdata/
rick.xcuserdatad/ xcschemes/
MyApp.xcodeproj/
xcsharedata/
mirza.xcuserdatad/ MyApp.xcscheme
xcuserdata/
rick.xcuserdatad/ xcschemes/ xcschememanagement.plist
MyApp.xcodeproj/
xcsharedata/
Demo
Working with Static Libraries for iOS
More Information
Michael Jurewitz
Developer Tools Evangelist [email protected]
Documentation
Xcode 4 User Guide http://developer.apple.com/library/ios/ #documentation/ToolsLanguages/ Conceptual/Xcode4UserGuide/
Related Sessions
Working Efficiently with Xcode Building from the Command Line with Xcode Learning Instruments Source Control Management in Xcode Debugging in Xcode Building, Archiving, and Submitting Your App
Marina Tuesday 11:30AM Russian Hill Tuesday 4:30PM Presidio Wednesday 4:30PM Nob Hill Thursday 10:15AM Pacific Heights Thursday 2:00PM Pacific Heights Thursday 4:30PM
Labs
Xcode Lab
Developer Tools Lab B Ongoing