Xcode 27 introduces a revamped customizable workspace with per-project themes, a new Device Hub for simulator and device management, integrated coding agent workflows directly in the editor, and untitled scratch projects for rapid prototyping.
• Fully customizable toolbar and vibrant per-project themes let developers visually differentiate workspaces at a glance
• Device Hub consolidates simulators and physical devices into one window with live Inspector controls for accessibility, Dynamic Type, and appearance testing
• Coding agent tasks now appear as first-class editor panes, enabling parallel agentic workflows with inline plan/review/implement cycles
Demonstrates using Xcode 27's Device Hub Inspector approach in code by building a SwiftUI view that adapts to the accessibility settings (Dynamic Type, contrast, color scheme) that Device Hub lets you toggle live during testing.
import SwiftUI
// This view is designed to be evaluated live in Xcode 27's Device Hub Inspector,
// where you can toggle Dynamic Type, Increase Contrast, and Dark Mode on the fly.
struct AirplaneStatCard: View {
let name: String
let range: Double
let speed: Double
@Environment(\.colorScheme) private var colorScheme
@Environment(\.dynamicTypeSize) private var typeSize
@Environment(\.accessibilityReduceTransparency) private var reduceTransparency
var background: some ShapeStyle {
if reduceTransparency {
return AnyShapeStyle(Color(colorScheme == .dark ? .systemGray5 : .systemGray6))
} else {
return AnyShapeStyle(.regularMaterial)
}
}
var body: some View {
VStack(alignment: .leading, spacing: 12) {
Text(name)
.font(.headline)
.foregroundStyle(.primary)
Divider()
HStack {
Label(String(format: "%.0f m", range), systemImage: "arrow.left.and.right")
Spacer()
Label(String(format: "%.1f m/s", speed), systemImage: "speedometer")
}
.font(.subheadline)
.foregroundStyle(.secondary)
}
.padding()
.background(background, in: RoundedRectangle(cornerRadius: 12))
.padding(.horizontal)
}
}
struct AirplaneStatsDashboard: View {
let planes = [
(name: "Classic Dart", range: 18.0, speed: 4.2),
(name: "Delta Wing", range: 24.5, speed: 6.1),
(name: "Glider Pro", range: 31.0, speed: 3.8),
]
var body: some View {
NavigationStack {
ScrollView {
VStack(spacing: 16) {
ForEach(planes, id: \.name) { plane in
AirplaneStatCard(
name: plane.name,
range: plane.range,
speed: plane.speed
)
}
}
.padding(.vertical)
}
.navigationTitle("Fleet Stats")
}
}
}
#Preview {
AirplaneStatsDashboard()
}Untitled scratch projects are not auto-saved — you must explicitly choose to save or they are discarded. Per-project themes are stored in workspace settings, so sharing a .xcworkspace with teammates does not force their theme. Inline predictive issues (live diagnostics) are distinct from build-time errors and may show false positives before a full build.
Device Hub physical device control requires a paired device connected over network or USB; coding agent features require Xcode 27 on Apple Silicon Mac
More iOS 27 APIs land every week.
Get notified when new capabilities are published — no noise, just signal.