visionOS 27 Beta 4 Release Notes
Update your apps to use new features, and test your apps against API changes.
Overview
The visionOS 27 SDK provides support to develop apps for Apple Vision Pro devices running visionOS 27 beta 4. The SDK comes bundled with Xcode 27, available from the Mac App Store. For information on the compatibility requirements for Xcode 27, see Xcode 27 Release Notes.
App Intents
New Features
You can now pass a name parameter of type
AttributedStringto thenotes.createNoteandnotes.updateNoteschemas. (173431080)
Known Issues
AppEntity instances have a cumulative size limit of 10MB, including all child properties and their values. Your app might crash if an entity exceeds this limit, and the exception is logged. (181763422)
Deprecations
The
calendar.deleteEventsschema has been renamed tocalendar.deleteEvent. (176751155)
Apple Intelligence Report
Resolved Issues
Fixed: When you view Apple Intelligence Report entries for Home Intelligence, some data that was sent to Private Cloud Compute won’t appear in the report. (176056930)
ARKit
Resolved Issues
Fixed: For room anchors delivered by the
RoomTrackingProviderSwift API,RoomAnchor.planeAnchorIDs andRoomAnchor.meshAnchorIDs are always empty. Likewise, for theroom_tracking.hC API,ar_room_anchor_get_plane_anchor_identifiersandar_room_anchor_get_mesh_anchor_identifiersalways return an empty list of identifiers. (173005535)
Background Assets
New Features
You can reduce your app’s storage usage with localized asset packs. The system delivers the appropriately localized asset packs based on the user’s preferred languages. (163944365)
Bluetooth
Known Issues
Spatial accessory tracking might not initialize when first paired via Bluetooth. (181827411)
Workaround: Turn the accessory off and then on, or turn Bluetooth off and on.
Compositor Services
Resolved Issues
Fixed:
RemoteImmersiveSpacemight be unable to discover the remote device, causing immersive content delivered to Apple Vision Pro to fail to display. (177989580)
EyeSight
Resolved Issues
Fixed: The EyeSight privacy indicator animation for screen capture only appears during your first Siri query after you restart your device. (177984075)
Foundation
Resolved Issues
Fixed:
+[NSURL URLWithString:]no longer double-encodes the%of valid percent-escape sequences when encoding other invalid characters. (161588649) (FB20439045)
Foundation Models
Resolved Issues
Fixed: Private Cloud Compute might not work when you use simulators. (177684296)
Fixed:
@Generableon anenumproduces a deprecation warning aboutGenerationErrorthat cannot be silenced. (177899620)Fixed: Truncating transcript history in the
onPromptmodifier might cause an unexpected runtime error. (177901494)Fixed:
onPromptmight not be called when applied to aProfilewithout instructions. (177902488)Fixed:
PrivateCloudComputeLanguageModelalways uses greedy decoding. (178181782)
Known Issues
When using the on-device Apple Foundation Model for both tool calling and guided generation, some prompts might cause the model to call tools excessively. (177748926)
Workaround: Adjust your instructions, prompts, and attachment labels.
Foveated Streaming
Resolved Issues
Fixed:
FoveatedStreamingProviderapp extensions cannot access the microphone. (175954012)
Freeform
Resolved Issues
Fixed: When a Freeform board is curved, the back button might become unresponsive after you exit preview mode for a spatial photo, spatial video, or USDZ file. (172204615)
Genmoji
Resolved Issues
Fixed: The Genmoji or Image Playground panel might appear blank when invoked from Safari or Freeform. (175025165)
Hand UI
Resolved Issues
Fixed: The battery percentage that appears in the status bar when you raise your hand and flip it over might be inconsistent with the percentage displayed in Control Center. (175742923)
Image Playground
Resolved Issues
Fixed: In the Image Playground photo picker, the All and Suggested tabs are missing, which might limit the number of photos available for you to choose from. (178256174)
Mac Virtual Display
Resolved Issues
Fixed: When donning the Apple Vision Pro it may sometimes disconnect instead of resuming the session. (178359724)
Resolved Issues
Fixed: Emails might display content that doesn’t match their subject line. (169101671)
Metal
Resolved Issues
Fixed: When you use a sampler to read from a texture with clamp-to-edge addressing mode, the result might be clamped to zero. (172520325)
Fixed: On devices in the Apple 10 GPU family, using a sampler to read from a texture with clamp-to-edge addressing mode might produce results that are clamped to zero. (177318505)
Network Security
New Features
Starting in 27.0 operating systems, select system processes now enforce stricter network security (TLS) requirements. These new requirements might cause connections to fail if the server does not meet them. The affected processes are those involved in MDM, DDM, Automated Device Enrollment, configuration profile installation, app installation, and software updates. Servers must support TLS 1.2 at minimum, using cipher suites and certificates that meet App Transport Security (ATS) requirements.
For additional details on affected processes, requirements, and how to audit and diagnose failures in managed environments, please reference Prepare your network environment for stricter security requirements. For additional details on ATS and the new requirements, please reference Preventing Insecure Network Connections and NSRequiresNIAPTLSPackageVersion. (176055825)
On Demand Resources
Deprecations
On Demand Resources and the
NSBundleResourceRequestAPI are deprecated. Use Background Assets instead. (170066290)
Persona
Known Issues
Spatial Personas may appear laggy during High Quality Recording. (178441141)
Quick Look
Resolved Issues
Fixed: Buttons in the annotation window might lose focus and become unresponsive on the first pinch. (172214657)
Fixed: When in annotation mode, annotations placed inside an object or within the bounding box of a convex object might not be selectable. (174174518)
Fixed: Annotation text might become blank, preventing you from creating, selecting, or deleting additional annotations. (177726175)
Fixed: In annotation mode, annotations don’t respond to direct touch input and flicker when directly touched. (178087194)
Fixed: In annotation mode, the Delete button sometimes switches the annotation to the editing UI. (178087667)
Known Issues
When at an interior Viewpoint in a USD preview, using drag gestures to move the scene can cause a severe jump of the asset position. (180152079)
Workaround: Apply the gesture slowly, avoiding a quick hand motion. Reset the positioning by choosing the desired Viewpoint again.
Reality Composer Pro Preview on visionOS
Resolved Issues
Reality Composer Pro Preview, which lets you preview your content on visionOS in real time directly from your Mac, is now available.
For more information on the Reality Composer Pro macOS app, see Reality Composer Pro Release Notes. (179045352)
RealityKit
Resolved Issues
Fixed: The
.highlighthover effect style highlights the entire RealityKit entity hierarchy during direct interactions, rather than only the entity being targeted. (158462269) (FB19680952)Fixed: Soft Shadows and Spotlight Shadow Quality do not work in visionOS Simulator because the feature relies on the clustering system, which is disabled due to restricted tier 2 argument buffer issues. (169054912)
Fixed: Content in a portal incorrectly receives outside environment probe lighting contribution. (175363970)
RealityRenderer’s
isToneMappingEnabledproperty enables and disables tone mapping if apps are rebuilt with the 27.0 SDK. Apps built with earlier versions of the SDK don’t see a behavior change. (177283932)Fixed:
ComputeGraphComponentsstored in a Reality file do not render when loaded. (177674901)Fixed: The behavior tree’s
SetTreenode might not reset the status of nodes belonging to the intended tree when you enter that tree for a second time. Additionally, if theSetTreenode has adjacent children to its right, the adjacent children might process before the new tree is set. To prevent adjacent children from processing early, ensure theSetTree nodeis the rightmost node in its subtree. (177688899)Fixed: Skinning animation or high subdivision level on complex geometry can cause excessive memory growth and may cause the app to be terminated due to high memory usage. (177731588)
Fixed: Opaque ShaderGraph materials appear darker than Physically Based Materials when lit by dynamic lights. (177974279)
Fixed: When
OpacityComponentis applied to an entity with opaque materials,RealityRendererrenders the opaque materials with transparency, revealing interior surfaces. Only the frontmost surface should appear with partial transparency. (177976245)Fixed: Shadow rendering memory is not counted against each application’s memory limit, which might prevent apps from consistently using up to 8 shadowed directional and spot lights depending on what other apps are running. (177984485)
Fixed: Specular highlights in the PBR shading model do not fade out correctly at low specular values. A visible specular effect persists even when the specular parameter is set to 0, causing materials with zero specular to appear reflective instead of non-reflective. (178289846)
Known Issues
Some MaterialX 1.39 nodes are not supported. (172875414)
Shaders using the new RealityKit shader node name of
ND_realitykit_pbr_surfaceshader_2_0will fail to load in Quick Look or with USDKit. (181616779)
Screen Recording
Resolved Issues
Fixed: With High Quality Recording enabled, capturing a High Quality recording while the device is warm may fail silently. No recording is saved and no error or feedback is shown. (170105618)
Fixed: When you switch between High Quality Recording and Standard Recording in Screen Recording settings, the recording subsystem may enter an unrecoverable state; subsequent screen recordings from Control Center might not start. (178467174)
ShaderGraph
Resolved Issues
Fixed: The
realitykit_hair_surfaceshadernode does not supportDiffuseLightProbeGroupComponent. Materials built with this node might not respond to diffuse light probe group lighting. (177976666)
Shortcuts
Resolved Issues
Fixed: The Use Model action might fail to run when using the On-Device option for some output types. (181071784)
Known Issues
If an app intent uses Duration or
LPLinkMetadata, creating a shortcut with that intent and then attempting to edit it with “Describe a change” might fail. (166068090)Workaround: If the model discards the action, press “Undo” to recover the unsupported intent.
When an app intent defines a
UnionValueparameter with two number-related types (for example, both Int and Double), the number option appears twice in the parameter picker menu and shows as double-selected. (168315587)Workaround: Define only one number-related type in the
UnionValueparameter (for example, use only Int or only Double, not both).
Siri
New Features
You can now activate Siri by looking at the Siri “orb” and speaking, as an alternative to using “Hey Siri” or “Siri”. This feature is enabled in Beta 2. (177137200)
Resolved Issues
Fixed: Siri ignores custom values for navigation preferences, transport, and incident types in apps that use
maps.startNavigationormaps.reportIncidentintent schemas. (175230813)Fixed: If you select the Ask Siri button in context menus or the text edit bar multiple times, multiple instances of Siri might appear and overlap with each other. (175372716)
Fixed: On visionOS, when Type to Siri is selected, dragging and dropping an image to Siri might not add the image to the Ask Siri input field. (176312944)
Fixed: When you enable Guest User Mode on Apple Vision Pro, Siri becomes unavailable. (177104604)
Fixed: When you ask Siri to send a message to a contact that doesn’t exist on your device, Siri might draft a message to an unrelated contact. (177356158)
Fixed: Siri might not resolve some entity types when your app has provided only an
EntityStringQueryfor the entity type. (177464215)Fixed: Asking Siri to call short phone numbers, such as “Call 17”, might fail. (177545828)
Fixed: Disabling Siri might not delete your Siri and Dictation interaction history from your device. (177649865)
Fixed: Siri might not find app-specific contacts that are only indexed in Spotlight and do not appear in the Contacts app. (177679168)
Fixed: When you use ChatGPT with Apple Intelligence, some responses used in follow-up queries or when you resume a chat might be logged by Apple. (177755742)
Fixed: When you tap the Send button in the Siri message confirmation flow, the message might fail to send. (178025056)
Fixed: Asking Siri to generate images will present the images in a UI that is not scrollable. (178091669)
Fixed: When the Siri app chat canvas is resized to a narrow width in text entry mode, the thumbs up and thumbs down feedback buttons might be obscured by the text input platter. (178161357)
Fixed: The search text field maintains keyboard focus after returning from searching in a list using the back button. (178191950)
Fixed: Siri “orb” and UI does not correctly follow the system breakthrough behavior when near another window. (178265130)
Fixed: Conversation cards might disappear after you return from a conversation view using the back button. (178342580)
Fixed: If you pin the Siri “orb” and then reboot the device, saying “Hey Siri” might summon two “orbs”. (178383647)
Fixed: Tapping an inactive Siri “orb” or the microphone button in the Siri app might not turn on Siri. (180066367)
Known Issues
When you ask Siri for Maps information, the response snippets might appear incomplete or display formatting issues. (177116121)
Workaround: Ask Siri to repeat the information, or open Maps directly for complete details.
Siri commands for Environments aren’t working. (178082773)
Workaround: Use gaze and pinch to open environments from the Home View.
Siri Setup
Resolved Issues
Fixed: The App Clips navigation button appears in Siri settings, even though the App Clips feature is not supported on visionOS. (178269460)
Spatial Accessories
Resolved Issues
Fixed: During use, Spatial Accessories - such as the Logitech Muse stylus or PSVR2 controllers - might stop registering inputs or being tracked. (177983488)
Spatial Gallery
Resolved Issues
Fixed: Spatial Gallery may freeze when loading panoramas. (177737702)
Spatial Preview
Resolved Issues
Fixed: Some large 3D models with poor mesh connectivity of approximately 750,000 to 3.75 million triangles might not appear when previewing on Apple Vision Pro. (174366004)
Spatial Web
Resolved Issues
Fixed: WebXR might not render when you use Simulator. (178666073)
Status Bar
Known Issues
Battery percentage might not be up-to-date in the status bar. (174929463)
Workaround: Open Control Center to update the battery percentage.
StoreKit
New Features
Offer code redemption APIs now return a
VerificationResultwhen redemption completes. If a redemption succeeds, your app receives aVerificationResultthat contains aTransactionobject. If a redemption fails, your app receives an error that describes what caused the redemption to fail. (141012819)StoreKit now includes the
Transaction.OwnershipType.assignedandTransaction.RevocationType.assignmentRevokedenum values to support volume purchases.Transactionquery methods now additionally return transactions assigned to the Managed Apple Account. (156749517)New
Product.ProductTypeAPIs represent subscription Bundles and subscription Suites. New APIs inProduct.SubscriptionInfo.BundledSubscriptionlet you fetch merchandising data about subscriptions contained in a Bundle. Transaction and RenewalInfo contain new fields that provide information about purchases and customer status regarding Bundles and Suites. (160501742)partnerNameandpartnerIdproperties for Advanced Commerce API are available in Transaction.AdvancedCommerceInfo and RenewalInfo.AdvancedCommerceInfo. (167808780)
Resolved Issues
Fixed: Displaying the offer code sheet or the manage subscription sheet consecutively might cause the app to hang when using StoreKit Testing in Xcode. (181171733)
Known Issues
The refund request, offer code redemption, and manage subscriptions sheets might fail to present in TestFlight. (180999342) (FB23487953)
Purchases of non-subscription In-App Purchases made using the SKTestSession.buyProduct() method might fail with an invalid product error. The billingPlanType(_:) PurchaseOption isn’t respected for subscription purchases. (181842500)
StoreKit Testing in Xcode
Resolved Issues
Fixed: The unified app receipt is not updated after forcing a subscription expiration with
SKTestSession. (102093015) (FB11767567)Fixed: The
SKTestSessiondisableDialogssetting is not always respected for all system dialogs. (154390284) (FB18403150)Fixed: Subscription upgrades performed with the Xcode Transaction Manager are not reported in
Transaction.updates. (160698598) (FB20269723)Fixed: The renewal behavior preference is not respected when using the
purchaseDate(_:renewalBehavior:)purchase option to make purchases usingSKTestSession. (162014134) (FB20537538)Fixed: StoreKit UI actions (manage subscriptions, redeem offer code, and refund request) don’t perform the desired action on visionOS when using StoreKit Testing in Xcode. (172677527)
Fixed: Re-purchasing a previously refunded non-consumable fails with an already owned error when using StoreKit Testing in Xcode. (174560379) (FB22475017)
Fixed: Using
pricingTerms.commitmentInfo.pricein StoreKit Testing in Xcode returns an incorrect price for monthly subscriptions with a 12-month commitment. (177942756)Fixed: Transactions for upgraded subscriptions are immediately marked as expired when using StoreKit Testing in Xcode. (178441109)
Fixed: Purchases fail on visionOS when initiated from offer code redemption or from the manage subscriptions sheet. (180741834)
Swift Charts
Resolved Issues
Fixed: When your project has a minimum deployment target lower than 27.0, using conditionals inside a
Chartclosure produces the warning “Conformance of_ConditionalContent<TrueContent, FalseContent>toChartContentis only available in ‘’ 27.0 or newer,” and the app might crash at runtime when that content is loaded. (174168981)
SwiftData
Resolved Issues
Fixed: You might experience a deadlock for @Query when saving a ModelContext on a background actor while scheduling new async tasks for a ModelActor. (178113288)
SwiftUI
New Features
AsyncImagenow automatically caches downloaded images using HTTP caching protocols, allowing servers to control caching behavior via standard headers. You can customize caching for specific images using the newAsyncImageinitializers that acceptURLRequestwith customcachePolicysettings. Additionally, you can set a customURLSessionusing the newView.asyncImageURLSession(_:)API to control how all childAsyncImageviews perform data tasks. (78212597)A
@Statedeclared with an expression as its initial value used to evaluate the expression each time the view struct re-instantiates. In the case of@State private var model = Model(), this meansModel.init()gets called many times throughout the view’s lifetime. Xcode 27 introduces a new@Stateimplementation that avoids this repeated evaluation. This new behavior back-deploys to iOS 17 aligned OSes. The new@Stateis implemented with a Swift macro. It is largely source compatible with the property wrapper version, with a few exceptions.If you provide an initial value at
@Statedeclaration, and also try to assign a value to it in an initializer, the initializer value is discarded. This behavior has not changed because of the macro, but some such cases no longer compile:struct StickerPageView: View { @State private var page = StickerPage() let title: String init(title: String) { // `title` won't have any effect // this also won't compile with @State macro self.page = StickerPage(title: title) self.title = title } }When assigning initial value via an initializer, do not provide an initial value at the @State declaration.
struct StickerPageView: View { @State private var page: StickerPage // no initial value expression let title: String init(title: String) { self.page = StickerPage(title: title) // works! self.title = title } }When all stored members of a struct are private, the compiler synthesizes a private init that can be used in an extension of the same type:
struct StickerPageView: View { @State private var page: StickerPage private let title: String ... } extension StickerPageView { init(title: String, _ page: StickerPage) { self.init(page: page, title: title) // using the synthesized init } }The state macro disables this synthesized initializer. So the code above no longer compiles. To mitigate, assign value to members explicitly:
extension StickerPageView { init(title: String, _ page: StickerPage) { self.title = title self.page = page } }In rare situations, the automatic inference of generic arguments of
@Stateis less flexible with the macro implementation. Write the type with more specificity.Composing
@Statewith other property wrappers or macros is not supported. (105893279)In apps built with the 27.0 SDKs, the new
ReadableDocumentandWritableDocumentprotocols support asynchronous reading and writing, progress reporting, and direct access to document URLs. NewDocumentGroupinitializers that adopt these protocols let you disable document creation for editing-only apps and present custom UI before any document is opened. The initializers expose anObservableURLDocumentConfigurationand integrate with Swift concurrency and theObservationframework. New applications should preferReadableDocumentandWritableDocumentoverReferenceFileDocument, which remains available. (158441552)The
TabsPickerStylestyle is now available for pickers that represent tab-based navigation and content selection. This style is similar to the.segmentedstyle, but VoiceOver reads it as “tabs,” and on macOS it has a distinct visual appearance that distinguishes it from pickers that represent value selection — for example, a text alignment picker in an inspector. (173211711)You can now use the
TextInputBorderShapetype to customize the border shape of text input controls likeTextFieldwith thetextInputBorderShape(_:)view modifier. The.squareBorderand.roundedBordertext field styles are soft deprecated — use the new.borderedtext field style instead. (173362083)In apps built with the 27.0 SDKs, a
LabeledContentview used inside aMenumaps its value to the platform menu item’s subtitle. (175594929)The @Entry macro now warns of potential issues if you store default class instances or closures in the environment. The SwiftUI Specialist skill in Xcode provides guidance for resolving these issues. (175902616)
You can now access
concentricCornerRadiiandconcentricCornerRadii(in:)onGeometryProxy. These APIs return the corner radii that are concentric with the view’s container shape as aRectangleCornerRadii?. You can use these values to drive custom drawing or layout that responds to the container’s corners without rendering aConcentricRectangledirectly. (177185166)You can now use the
Documentprotocol for representing documents inDocumentGroup. This protocol combinesReadableDocumentandWritableDocumentfor common read-and-write cases. UseDocumentinstead ofReferenceFileDocumentandFileDocument, which are now deprecated. (177458781)@ContentBuildertype checking performance is further improved for valid code compared to Beta 1. (177526032)The new data item or error object based
alertandconfirmationDialogmodifiers can now be used by projects targeting iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, and visionOS 1.0. (179388848)In macOS apps built with the macOS 27 SDK, the action retrieved from the
\.newDocumentenvironment value accepts an in-memoryReadableDocumentproduced by an autoclosure. SwiftUI presents a new document window populated with the supplied instance, instead of invoking the document group’s default factory. Use this to implement “New from Template” commands and similar flows. (180300890)A new
fileExporter(isPresented:documents:contentTypes:onCompletion:onCancellation:)modifier exports a collection of values that conform toWritableDocumentwhoseWriter.DestinationisURL. The system presents a single export dialog, writes each document to the chosen destination, and reports the resulting URLs throughonCompletion. (180301165)The
makeFileWrapperclosure ofFileWrapperDocumentWriternow receives a second argument,previous: FileWrapper?, holding theFileWrapperfrom the document’s most recent read or write when one is available. Package documents can mutatepreviousin place and return it so thatFileWrapperonly writes children whose contents changed, avoiding rewriting an entire package on every save. Documents stored as a single file can ignore the second argument and return a freshFileWrapperas before. Existing call sites must update their closures to accept the new parameter. (180301399)DocumentReader.SourceandDocumentWriter.Destinationnow default toURL. Conforming types that read from or write to a file URL no longer need to declaretypealias Source = URLortypealias Destination = URL. (180301692)
Resolved Issues
Fixed: When you apply both
.fileExporter(_:...)and.fileMover(_:...)modifiers to a view, some dialogs might not present correctly. (154080867)Fixed: In apps built with the 27.0 SDKs,
containerRelativeFrame(_:alignment:)incorrectly accounts for safe-area insets on aScrollView’s non-scrollable axis, causing the calculated scrollable content size to be too small. For example, a view usingcontainerRelativeFrame(.vertical)inside a horizontalScrollViewextends into vertical safe-area regions, such as the navigation bar and home indicator, because only the scrollable axis insets are applied. (165913417)Fixed: Certain control-related view modifiers unexpectedly affect sheet and popover content. In apps built with the 27.0 SDKs, the
controlSize,buttonSizing,buttonRepeatBehavior,menuIndicatorVisibility, andButtonBorderShapeenvironment values are now reset to their default values in sheets and popovers. (167448274)Fixed:
Menulabels cannot contain controls, views with gestures, or view representables with gesture recognizers. (169091260)Fixed:
@Statevariable named using a raw identifier fails to compile. (179149051) (FB23015259)The
read(from:progress:)andwrite(content:to:previous:progress:)requirements ofDocumentReaderandDocumentWriterare declared with@concurrentinstead ofnonisolated. With approachable-concurrency defaults that inferMainActorisolation, an unannotatednonisolatedasync method runs on the main actor, defeating the intent of off-main reading and writing. Conforming types that previously usednonisolatedshould switch to@concurrentto match. (180302015)The
makeDocument:andmakeReadableDocument:closures passed toDocumentGroupinitializers are now@MainActor-isolated. SwiftUI invokes these factories on the main actor when constructing a document instance, allowing the closure body to access main-actor state — including the suppliedURLDocumentConfiguration— without hopping isolation domains. (180302065)URLDocumentConfigurationis a@MainActor-isolated@Observablereference type and no longer conforms toSendable. Code that captured a configuration in aSendableclosure or stored it in aSendablevalue should drop the constraint and access the configuration on the main actor. (180302075)
Deprecations
The
FileDocumentprotocol is deprecated. UseReadableDocumentfor read-only documents orDocumentfor documents that support reading and writing. (178776840)
System
New Features
System now provides Swift APIs for the C
stat,lstat,fstat, andfstatatsystem calls. This includes a newStattype with initializers fromFilePath,FileDescriptor, or a C string;FilePath.stat()andFileDescriptor.stat()instance methods; and supporting types (FileType,FileMode,FileFlags,UserID,GroupID,DeviceID, andInode). See SYS-0006 for more details. (160612181)
Resolved Issues
Fixed: Custom
FilePathorFileDescriptorextensions that make unqualified calls tostat()orstat(_)(without theDarwin.qualification) might conflict with the new Swiftstat()instance methods introduced in SYS-0006, causing build errors. See SYS-0008 for more details. (177911316)
TestFlight
Known Issues
Apps installed via TestFlight may launch into a blank window with no content. The TestFlight “What to Test” introductory screen may not appear before the app, or the app’s window may render empty. (179387790)
Workaround: Close the blank window and relaunch the app from the Home View. The launch typically succeeds within 1–3 attempts. If an app remains stuck, force-quit it (long-press the Digital Crown) and launch again from the Home View.
TextKit
New Features
NSTextTableand its related objects and types are available to UIKit clients starting with OS 27 releases. (159870239)
UIKit
New Features
When linked on iOS 27, tvOS 27, macCatalyst 27, or visionOS 27 SDKs, you can use
UIScene.extendStateRestorationandUIScene.completeStateRestorationto extend state restoration forUIScene.ActivationState.backgroundtoUIScene.ActivationState.foregroundlifecycle transitions. (161843040)
Resolved Issues
Fixed:
-[UIApplication supportedInterfaceOrientationsForWindow:]and-[UIApplicationDelegate application:supportedInterfaceOrientationsForWindow:]are marked as unavailable in the visionOS SDK rather than deprecated. (178170882)Fixed: Views hosted in a UIHostingController and positioned using Auto Layout might have broken layout due to an overly aggressive fix for a layout feedback loop. (181943015)
Deprecations
Apps built with the latest SDK must adopt the scene-based life cycle or they fail to launch. For migration guidance, see Transitioning to the UIKit scene-based life cycle. (141837548)
USDKit
Resolved Issues
Fixed: Some types of USD attributes cannot be read or modified. (170653056)
Fixed: Array, vector, matrix, and quaternion types cannot be authored using USDKit. (178071414)
Deprecations
Meshes compressed using the USDKit export API or
usdcrush toolin Beta 1 cannot be decoded by Beta 2, and meshes from Beta 2 cannot be decoded by Beta 1. (177417812)
VideoToolbox
New Features
VTLowLatencySuperResolutionScalerConfigurationnow supports a 1.5x scale factor. Call+supportedScaleFactorsForFrameWidth:frameHeight:to discover the scale factors available for your source dimensions. (177635243)VTLowLatencyFrameInterpolationConfigurationnow supports arbitrary source dimensions up to 1080p. (179040806)
WebKit
Resolved Issues
Fixed: Some models embedded in web pages might render off-center within the portal or might be hidden by portal edges. (174193414)
Fixed: 3D models hosted in
<model>HTML elements might appear darker than expected when the system environment is set to Dark Mode. (175191357)Fixed: The
<model>element renders differently across iOS, macOS and visionOS, primarily as brightness/darkening differences and some color temperature and specular highlight discrepancies. (177195829)
Xcode
Resolved Issues
Fixed: When you use the Debug View Hierarchy tool (View Debugger) to inspect an app that presents RealityKit content with SwiftUI RealityView, the RealityKit scene appears empty: the RealityView’s entities are missing from the captured hierarchy and the RealityKit debugger shows no content. This affects apps running on visionOS, the iOS Simulator, and macOS. Debugging of non-RealityKit content (UIKit, AppKit, and 2D SwiftUI views) is unaffected. The content is still present in your app and renders correctly at runtime; only its visibility to the View Debugger is affected, due to a change in how RealityKit exposes RealityView-hosted entities to the debugging APIs the View Debugger relies on. (177083261)