Device Hub is a new standalone app shipping with Xcode 27 that serves as a unified hub for managing, controlling, and configuring both physical devices and simulators. It provides a live interactive screen view, device configuration panels, diagnostics collection, and app data container management โ all without needing to open Xcode.
โข Replaces scattered device management workflows with a single app: pair devices wirelessly, rotate simulators, change text size/dark mode/location instantly, and manage app data containers from one place
โข Enables cross-device bug reproduction workflows โ download a real device's app data container and restore it into a simulator to replicate exact conditions (location, text size, appearance) without the physical device
โข Ships as a lightweight companion that auto-launches when you build and run in Xcode 27, so every iOS developer immediately encounters it in their daily workflow
Demonstrates how to use the xcrun simctl command-line interface โ the underlying engine Device Hub builds on โ to programmatically mirror key Device Hub configuration steps: setting a simulated location and changing the content size category on a booted simulator.
import Foundation
// Device Hub exposes these capabilities visually, but they are powered
// by simctl under the hood. This snippet shows how to drive the same
// simulator configuration steps programmatically from a Swift script
// or a helper tool โ useful for CI pipelines that mirror Device Hub workflows.
@discardableResult
func runSimctl(_ arguments: [String]) -> String {
let process = Process()
process.executableURL = URL(fileURLWithPath: "/usr/bin/xcrun")
process.arguments = ["simctl"] + arguments
let pipe = Pipe()
process.standardOutput = pipe
process.standardError = pipe
try? process.run()
process.waitUntilExit()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
return String(data: data, encoding: .utf8) ?? ""
}
// Step 1: Find the booted simulator's UDID
let listOutput = runSimctl(["list", "devices", "booted", "--json"])
print("Booted simulators:\n\(listOutput)")
// Step 2: Mirror a specific geographic location (e.g. Johannesburg)
// In Device Hub: Settings inspector โ Location โ set custom coordinates
let udid = "booted" // Use actual UDID from list output in production
let johannesburgLat = "-26.2041"
let johannesburgLon = "28.0473"
let locationOutput = runSimctl(["location", udid, "set", "\(johannesburgLat),\(johannesburgLon)"])
print("Location set: \(locationOutput)")
// Step 3: Override the content size category to extra-extra-extra large
// In Device Hub: Settings inspector โ Text Size slider โ drag to maximum
let accessibilityOutput = runSimctl([
"ui", udid, "content_size", "accessibility-extra-extra-extra-large"
])
print("Content size set: \(accessibilityOutput)")
// Step 4: Switch to dark mode
// In Device Hub: Settings inspector โ Appearance โ Dark
let darkModeOutput = runSimctl(["ui", udid, "appearance", "dark"])
print("Dark mode set: \(darkModeOutput)")
// Step 5: Rotate to landscape (Device Hub: canvas rotate button)
// Rotation is handled via the DeviceHub GUI or Xcode UI testing APIs;
// simctl does not expose a direct rotate command โ use XCTest for that.
print("\nAll simulator configurations applied โ matching Device Hub workflow.")
print("Open Device Hub (shipped with Xcode 27) for interactive control.")LiveCommunicationKit is the modern replacement for CXProvider that delivers rich, native conversation UIs integrated with the Lock Screen, Dynamic Island, Phone app Recents, and Siri. It provides a unified lifecycle model for audio and video conversations with a single delegate-driven action pipeline.
USDKit is a new first-party Swift framework introduced in iOS/macOS 27 that brings native USD scene creation, composition, modification, and export capabilities to Apple platform apps, with deep RealityKit and Spatial Preview integration.
iOS 27 adds sectioned queries, codable model attributes, ResultsObserver for non-SwiftUI change observation, and HistoryObserver for reacting to persistent history changes in SwiftData.
Device Hub is a developer tooling app, not a public SDK framework โ there are no programmatic Swift APIs to call at runtime. It ships alongside Xcode 27 and is controlled via its GUI. Sysdiagnose collection and profile installation still require device reboots for some changes to take effect.
Requires Xcode 27. Works with physical devices over USB or wirelessly, and all simulators. Apple Watch pairing requires proximity. Apple Vision Pro and Apple TV have device-specific contextual controls.
The NowPlaying framework introduces a first-class Swift API for surfacing app media in system-wide now-playing surfaces โ Lock Screen, Control Center, Dynamic Island, StandBy, CarPlay, Apple Watch, and Apple TV โ via a declarative MediaSessionRepresentable protocol. It also supports remote media sessions (for controlling external speakers/TVs) and Media Sharing Extensions for routing media to third-party devices.