Session 408 - Working With Schemes and Projects in Xcode
-
Upload
foufoutos73 -
Category
Documents
-
view
222 -
download
0
Transcript of Session 408 - Working With Schemes and Projects in Xcode
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
1/131
These are confidential sessionsplease refrain from streaming, blogging, or taking pictures
Session 408
Rick Ballard and Mirza GaribovicXcode Engineers
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
2/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
3/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
4/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
5/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
6/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
7/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
8/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
9/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
10/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
11/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
12/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
13/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
14/131
The core concepts: workspaces, projects, targets, schemes,and run destinations
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
15/131
The core concepts: workspaces, projects, targets, schemes,and run destinations
Effective use of the scheme actions
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
16/131
The core concepts: workspaces, projects, targets, schemes,and run destinations
Effective use of the scheme actions
Working with build products
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
17/131
The core concepts: workspaces, projects, targets, schemes,and run destinations
Effective use of the scheme actions
Working with build products
Scheme management
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
18/131
The core concepts: workspaces, projects, targets, schemes,and run destinations
Effective use of the scheme actions
Working with build products
Scheme management
Static libraries for iOS
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
19/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
20/131
Workspaces
Projects Build configurations
Targets Build settings
Build phases
Build rules
Schemes Run destinations
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
21/131
Workspaces
Projects Build configurations
Targets Build settings
Build phases
Build rules
Schemes Run destinations
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
22/131
Contains references to projectsand other files
Groups together projects you want
to use together
Provides a unique location for stateand build products
Allows implicit dependencies to befound between targets
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
23/131
Workspaces
Projects Build configurations
Targets Build settings
Build phases
Build rules
Schemes Run destinations
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
24/131
References to source files
Targets which build products
Schemes which build targets andperform actions
Build configurations which selectvariants of target build settings
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
25/131
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 newbuild configuration
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
26/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
27/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
28/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
29/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
30/131
Workspaces
Projects Build configurations
Targets Build settings
Build phases
Build rules
Schemes Run destinations
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
31/131
Instructions for building one product
References some or all sourcefiles in the project
Contains build phasesthe
high-level sequence of steps Build rules determine howto handle each file type
Build settings control howit is done
Can depend on one or moreother targets
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
32/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
33/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
34/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
35/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
36/131
Target Dependencies
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
37/131
Compile Sources
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
38/131
Link Binary with Libraries
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
39/131
Copy Headers
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
40/131
Copy Bundle Resources
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
41/131
Copy Files
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
42/131
Run Script
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
43/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
44/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
45/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
46/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
47/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
48/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
49/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
50/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
51/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
52/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
53/131
Workspaces
Projects Build configurations
Targets Build settings
Build phases
Build rules
Schemes Run destinations
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
54/131
Instructions for building targets and performing actions
Actions for running,testing, profiling, analyzing,and archiving products
A specification of targets tobuild for each action
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
55/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
56/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
57/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
58/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
59/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
60/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
61/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
62/131
Building is a step performed before each action
You always build with a purpose
The action you perform specifies targets and a configuration
The default Build command builds for the Run action
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
63/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
64/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
65/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
66/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
67/131
Workspaces
Projects Build configurations
Targets Build settings
Build phases
Build rules
Schemes Run destinations
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
68/131
The device you want to build for and run on
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
69/131
The device you want to build for and run on Choose among plugged-in iOS devices configured for development,available simulators, and the local Mac
Only devices compatible with your targets Base SDKand Deployment Target
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
70/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
71/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
72/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
73/131
Demo
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
74/131
What is an archive?
A timestamped bundle with: An install-style build of your application
Your applications debug symbols, in a separate dSYM file
Verification and submission status for your application Your own comments
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
75/131
Application archives
Contain only a single application
Archives containing anything else cannot be submitted to the Macor iOS App Store
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
76/131
Application archives
Your application should embed libraries and frameworks Static libraries are always incorporated into your application
Use a Copy Files build phase for frameworks and dynamic libraries
Turn on the Skip Install build setting for library and framework targets
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
77/131
Demo
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
78/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
79/131
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
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
80/131
Demo
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
81/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
82/131
Manually by the user
Automatically: When creating a new target or project
When opening a project or workspace for the first time
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
83/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
84/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
85/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
86/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
87/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
88/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
89/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
90/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
91/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
92/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
93/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
94/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
95/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
96/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
97/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
98/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
99/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
100/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
101/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
102/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
103/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
104/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
105/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
106/131
MyApp.xcodeproj/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
107/131
MyApp.xcodeproj/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
108/131
xcuserdata/
xcsharedata/MyApp.xcodeproj/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
109/131
MyApp.xcodeproj/
xcuserdata/
xcsharedata/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
110/131
MyApp.xcodeproj/
xcuserdata/
xcsharedata/ xcschemes/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
111/131
MyApp.xcodeproj/
xcuserdata/
xcsharedata/ xcschemes/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
112/131
MyApp.xcodeproj/
xcuserdata/
xcsharedata/ xcschemes/
MyApp.xcscheme
MyFramework.xcscheme
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
113/131
MyApp.xcodeproj/
xcuserdata/
xcsharedata/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
114/131
MyApp.xcodeproj/
xcuserdata/
xcsharedata/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
115/131
mirza.xcuserdatad/
rick.xcuserdatad/
MyApp.xcodeproj/
xcuserdata/
xcsharedata/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
116/131
mirza.xcuserdatad/
MyApp.xcodeproj/
xcuserdata/
xcsharedata/
rick.xcuserdatad/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
117/131
mirza.xcuserdatad/
MyApp.xcodeproj/
xcuserdata/
xcsharedata/
xcschemes/rick.xcuserdatad/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
118/131
mirza.xcuserdatad/
MyApp.xcodeproj/
xcuserdata/
xcsharedata/
xcschemes/rick.xcuserdatad/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
119/131
mirza.xcuserdatad/
MyApp.xcodeproj/
xcuserdata/
xcsharedata/
xcschemes/
xcschememanagement.plist
MyApp.xcscheme
rick.xcuserdatad/
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
120/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
121/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
122/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
123/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
124/131
Demo
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
125/131
Michael JurewitzDeveloper Tools Evangelist
Documentation
Xcode 4 User Guidehttp://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/
Apple Developer Forumshttp://devforums.apple.com
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
126/131
Working Efficiently with Xcode MarinaTuesday 11:30AM
Building from the Command Line with Xcode Russian HillTuesday 4:30PM
Learning InstrumentsPresidio
Wednesday 4:30PM
Source Control Management in Xcode Nob HillThursday 10:15AM
Debugging in Xcode Pacific HeightsThursday 2:00PM
Building, Archiving, and Submitting Your App Pacific HeightsThursday 4:30PM
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
127/131
Xcode Lab Developer Tools Lab BOngoing
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
128/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
129/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
130/131
-
7/28/2019 Session 408 - Working With Schemes and Projects in Xcode
131/131