{"sections":[],"hierarchy":{"paths":[["doc://com.apple.documentation/documentation/technologies","doc://com.apple.macOS-Release-Notes/documentation/macos-release-notes"]]},"primaryContentSections":[{"kind":"content","content":[{"type":"heading","text":"Overview","level":2,"anchor":"Overview"},{"inlineContent":[{"type":"text","text":"The macOS 15.4 SDK provides support to develop apps for Mac computers running Sequoia 15.4. The SDK comes bundled with Xcode 16.3, available from the Mac App Store. For information on the compatibility requirements for Xcode 16.3, see "},{"identifier":"/documentation/Xcode-Release-Notes/xcode-16_3-release-notes","isActive":true,"type":"reference"},{"text":".","type":"text"}],"type":"paragraph"},{"text":"Apple Intelligence","type":"heading","level":3,"anchor":"Apple-Intelligence"},{"type":"heading","level":4,"anchor":"Known-Issues","text":"Known Issues"},{"type":"unorderedList","items":[{"content":[{"inlineContent":[{"text":"After restoring macOS 15.4, some Apple Intelligence features might not be available or you might see “Downloading support…”.  (145297891)","type":"text"}],"type":"paragraph"},{"type":"paragraph","inlineContent":[{"type":"strong","inlineContent":[{"text":"Workaround:","type":"text"}]},{"text":" Restarting your device might resolve the issue.","type":"text"}]}]}]},{"type":"heading","level":3,"anchor":"Automatic-Assessment-Configuration","text":"Automatic Assessment Configuration"},{"level":4,"type":"heading","text":"Resolved Issues","anchor":"Resolved-Issues"},{"items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Fixed: Assessment session might be interrupted in high-memory use conditions.  (144416806)"}]}]}],"type":"unorderedList"},{"type":"heading","anchor":"Driver-Extensions","text":"Driver Extensions","level":3},{"type":"heading","level":4,"text":"Known Issues","anchor":"Known-Issues"},{"items":[{"content":[{"type":"paragraph","inlineContent":[{"text":"After updating to macOS 15.4 beta, you might experience issues with loading installed drivers.  (145330084) (FB16547388)","type":"text"}]},{"type":"paragraph","inlineContent":[{"type":"strong","inlineContent":[{"type":"text","text":"Workaround:"}]},{"text":" Go to System Settings > General > Login Items & Extensions and disable your affected driver extensions. Restart your Mac. After restarting, go back to System Settings > General > Login Items & Extensions and re-enable the affected driver extensions.","type":"text"}]}]}],"type":"unorderedList"},{"text":"FSKit","type":"heading","level":3,"anchor":"FSKit"},{"text":"New Features","type":"heading","level":4,"anchor":"New-Features"},{"items":[{"content":[{"inlineContent":[{"text":"FSKit is now available, enabling delivery of user space file systems as Application Extensions. These file systems support integration with DiskArbitration.  (44900760)","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"text":"Game Controller","type":"heading","level":3,"anchor":"Game-Controller"},{"level":4,"text":"Resolved Issues","anchor":"Resolved-Issues","type":"heading"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Fixed: Game controllers might stop responding when accessibility features, such as Voice Over, are enabled.  (141497799)"}]}]}]},{"text":"hvf","anchor":"hvf","level":3,"type":"heading"},{"anchor":"Known-Issues","text":"Known Issues","level":4,"type":"heading"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"text":"Availability checking is disabled for C APIs in hvf.  (147323772)","type":"text"}]},{"inlineContent":[{"inlineContent":[{"type":"text","text":"Workaround:"}],"type":"strong"},{"type":"text","text":" To enable availability checking, add this ahead of any headers:"}],"type":"paragraph"},{"syntax":null,"code":[" #define BUILD_FOR_APPLE_SDK 1"],"type":"codeListing"}]}]},{"type":"heading","level":3,"text":"libxml2","anchor":"libxml2"},{"text":"Deprecations","type":"heading","level":4,"anchor":"Deprecations"},{"items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"The custom allocation API for libxml2 is deprecated starting in macOS Sequoia 15.4, iOS 18.4, tvOS 18.4, visionOS 2.4, and tvOS 18.4.  If this API is not used, no changes are required.  If this API is currently used, make changes to call "},{"type":"codeVoice","code":"malloc()"},{"type":"text","text":" instead of "},{"type":"codeVoice","code":"xmlMalloc()"},{"type":"text","text":" or "},{"type":"codeVoice","code":"xmlMallocAtomic()"},{"text":"; call ","type":"text"},{"type":"codeVoice","code":"realloc()"},{"text":" instead of ","type":"text"},{"code":"xmlRealloc()","type":"codeVoice"},{"type":"text","text":"; call "},{"code":"free()","type":"codeVoice"},{"text":" instead of ","type":"text"},{"code":"xmlFree()","type":"codeVoice"},{"text":" and call ","type":"text"},{"type":"codeVoice","code":"strdup()"},{"type":"text","text":" instead of "},{"type":"codeVoice","code":"xmlMemStrdup()"},{"text":".  Stop calling ","type":"text"},{"type":"codeVoice","code":"xmlMemSetup()"},{"text":", ","type":"text"},{"code":"xmlMemGet()","type":"codeVoice"},{"type":"text","text":", "},{"type":"codeVoice","code":"xmlGcMemSetup()"},{"text":" and ","type":"text"},{"code":"xmlGcMemGet()","type":"codeVoice"},{"type":"text","text":" to set custom allocation functions.  Do not set global variables "},{"type":"codeVoice","code":"xmlMalloc"},{"type":"text","text":", "},{"type":"codeVoice","code":"xmlMallocAtomic"},{"text":", ","type":"text"},{"code":"xmlRealloc","type":"codeVoice"},{"text":", ","type":"text"},{"code":"xmlFree","type":"codeVoice"},{"type":"text","text":", and "},{"code":"xmlMemStrdup","type":"codeVoice"},{"text":".  Internally, libxml2 and libxslt will now use the system allocator instead of this API, so do not rely on these libraries using the custom allocation API.  (138404994)","type":"text"}]}]}],"type":"unorderedList"},{"text":"Networking","level":3,"type":"heading","anchor":"Networking"},{"level":4,"type":"heading","text":"Resolved Issues","anchor":"Resolved-Issues"},{"type":"unorderedList","items":[{"content":[{"inlineContent":[{"type":"text","text":"Fixed: On Ethernet, 169.254.169.254 causes functionality issues on CI build machines due to Local Network Privacy restrictions.  (145297894) (FB16541221)"}],"type":"paragraph"}]}]},{"level":3,"type":"heading","text":"Podcasts","anchor":"Podcasts"},{"anchor":"New-Features","type":"heading","text":"New Features","level":4},{"items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Podcasts Search provides suggestions as you type to help you find what you’re looking for.  (144169175)"}]}]}],"type":"unorderedList"},{"type":"heading","level":3,"text":"SCSIControllerDriverKit","anchor":"SCSIControllerDriverKit"},{"level":4,"text":"New Features","type":"heading","anchor":"New-Features"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"text":"Four new API’s have been introduced: ","type":"text"},{"code":"UserMapBundledParallelTaskCommandAndResponseBuffers","type":"codeVoice"},{"type":"text","text":", "},{"code":"BundledParallelTaskCompletion","type":"codeVoice"},{"type":"text","text":", "},{"type":"codeVoice","code":"UserProcessBundledParallelTasks"},{"type":"text","text":" and "},{"code":"UserCompleteBundledParallelTask","type":"codeVoice"},{"text":".","type":"text"}]},{"inlineContent":[{"type":"text","text":"These APIs introduce the concepts of bundled I/Os and shared memory, for parallel task command and response buffers."}],"type":"paragraph"},{"type":"paragraph","inlineContent":[{"text":"The shared memory addresses the RPC copy overhead. Bundled I/O enables the exchange of multiple I/Os in a single API call (in both submission and completion path), instead of handing over one I/O at a time between DriverKit and DriverExtension. This helps mitigate the DriverKit latencies while interacting with DriverExtension.","type":"text"}]},{"type":"paragraph","inlineContent":[{"text":"The ","type":"text"},{"code":"IOUserSCSIParallelInterfaceController.iig","type":"codeVoice"},{"type":"text","text":" file explains the concepts of I/O bundling and shared memory for parallel task and response buffers."}]},{"inlineContent":[{"text":"If DriverExtension has considerably lower I/O performance compared to the KernelExtension for workloads with high queue depths or very small I/O sizes (i.e. 4KB), try using these new APIs.  (134516478)","type":"text"}],"type":"paragraph"}]}]},{"level":3,"type":"heading","text":"SD Card Reader","anchor":"SD-Card-Reader"},{"anchor":"New-Features","type":"heading","text":"New Features","level":4},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Apple silicon Macs with an internal SD card reader now support SDUC cards larger than 2TB.  (122898691)"}]}]}]},{"type":"heading","level":3,"text":"StoreKit","anchor":"StoreKit"},{"level":4,"text":"New Features","type":"heading","anchor":"New-Features"},{"items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"New StoreKit APIs support "},{"isActive":true,"type":"reference","identifier":"https://developer.apple.com/in-app-purchase/advanced-commerce-api/"},{"text":" in-app purchases.  (118528943)","type":"text"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"text":"By using the new purchase option API ","type":"text"},{"type":"codeVoice","code":"introductoryOfferEligibility(compactJWS:)"},{"type":"text","text":", you can now set a preference for whether an introductory offer should be redeemed during a purchase. This API requires you to sign a payload on your server in order to either apply the offer (even if the customer is not eligible) or block it.  (136152740)"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"New properties "},{"code":"appTransactionID","type":"codeVoice"},{"type":"text","text":", "},{"code":"originalPlatform","type":"codeVoice"},{"type":"text","text":", and "},{"type":"codeVoice","code":"period"},{"text":" are now available in ","type":"text"},{"identifier":"https://developer.apple.com/documentation/storekit/apptransaction","isActive":true,"type":"reference"},{"text":", ","type":"text"},{"type":"reference","isActive":true,"identifier":"https://developer.apple.com/documentation/storekit/transaction"},{"type":"text","text":", "},{"isActive":true,"type":"reference","identifier":"https://developer.apple.com/documentation/storekit/transaction/offer-swift.struct"},{"type":"text","text":", and "},{"identifier":"https://developer.apple.com/documentation/storekit/product/subscriptioninfo/renewalinfo","isActive":true,"type":"reference"},{"text":".  (136395697)","type":"text"}]}]},{"content":[{"inlineContent":[{"text":"The ","type":"text"},{"code":"Platform","type":"codeVoice"},{"type":"text","text":" symbol used by originalPlatform in AppTransaction has been moved to "},{"code":"AppStore.Platform","type":"codeVoice"},{"text":".  (143632084)","type":"text"}],"type":"paragraph"}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"The introductory offer eligibility preference API in PurchaseOption has been renamed to "},{"type":"codeVoice","code":"introductoryOfferEligibility(compactJWS:)"},{"type":"text","text":".  (143905053)"}]}]},{"content":[{"inlineContent":[{"code":"watchOS","type":"codeVoice"},{"type":"text","text":" is removed as an option in the AppStore.Platform API. "},{"code":"watchOS","type":"codeVoice"},{"text":" is now combined with ","type":"text"},{"type":"codeVoice","code":"iOS"},{"text":".  (145578780)","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"type":"heading","text":"Resolved Issues","anchor":"Resolved-Issues","level":4},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Fixed: StoreKit helper application quits with NSCocoaErrorDomain error 4097 during a purchase.  (140317005) (FB15907723)"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"text":"Fixed: StoreKit APIs might return errors from the StoreKit 2 domain during a purchase.  (144191684)","type":"text"}]}]}]},{"text":"Known Issues","type":"heading","level":4,"anchor":"Known-Issues"},{"type":"unorderedList","items":[{"content":[{"inlineContent":[{"text":"Calling ","type":"text"},{"code":"isEligibleForIntroOffer(for:)","type":"codeVoice"},{"text":" will return false if there is no user account signed in.  (146119524)","type":"text"}],"type":"paragraph"},{"type":"paragraph","inlineContent":[{"type":"strong","inlineContent":[{"text":"Workaround:","type":"text"}]},{"type":"text","text":" The user should sign in with their App Store account to request introductory offer eligibility."}]}]}]},{"text":"Deprecations","type":"heading","anchor":"Deprecations","level":4},{"items":[{"content":[{"type":"paragraph","inlineContent":[{"identifier":"https://developer.apple.com/documentation/storekit/transaction/currententitlement(for:)","isActive":true,"type":"reference"},{"type":"text","text":" is now deprecated. This API returns the latest transaction that entitles the user to a product, which may not include transactions originated for family shared subscriptions. Use the "},{"type":"codeVoice","code":"Transaction.currentEntitlements(for:)"},{"type":"text","text":" method to get all the transactions that entitle the user to a product.  (138320205)"}]}]}],"type":"unorderedList"},{"text":"SwiftUI","level":3,"type":"heading","anchor":"SwiftUI"},{"text":"New Features","type":"heading","level":4,"anchor":"New-Features"},{"type":"unorderedList","items":[{"content":[{"inlineContent":[{"text":"On macOS ","type":"text"},{"type":"codeVoice","code":".sheet"},{"text":", ","type":"text"},{"type":"codeVoice","code":".alert"},{"type":"text","text":" and "},{"code":".confirmationDialog","type":"codeVoice"},{"type":"text","text":" modal presentations conditionally allow app termination (via the menu item, ⌘Q, Software Update, etc.) automatically. This is now configurable with two new modifiers, "},{"identifier":"https://developer.apple.com/documentation/swiftui/view/presentationpreventsapptermination(_:)","type":"reference","isActive":true},{"text":" and ","type":"text"},{"isActive":true,"type":"reference","identifier":"https://developer.apple.com/documentation/swiftui/view/dialogpreventsapptermination(_:)"},{"text":".  (141551605)","type":"text"}],"type":"paragraph"}]}]},{"level":4,"text":"Resolved Issues","anchor":"Resolved-Issues","type":"heading"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"text":"Fixed: A color set by the ","type":"text"},{"type":"codeVoice","code":"tint(_:)"},{"type":"text","text":" modifier does not override the tint color of buttons in that view’s confirmation dialogs and alerts.  (138774306)"}]}]},{"content":[{"inlineContent":[{"type":"text","text":"Fixed: For apps compiled against iOS 18.4 beta, applying "},{"type":"codeVoice","code":"defaultVisibility(.hidden)"},{"text":" to customizable toolbar items does not hide the item by default on iOS.  (139815290)","type":"text"}],"type":"paragraph"}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Fixed: When NavigationStack or NavigationSplitView content updates, the environment is not invalidated unless properties in the environment have changed.  (139855826)"}]}]},{"content":[{"inlineContent":[{"text":"Fixed: ","type":"text"},{"code":".onPreferenceChange","type":"codeVoice"},{"type":"text","text":" modifier’s closure argument is required to be "},{"type":"codeVoice","code":"@Sendable"},{"type":"text","text":". This might cause concurrency diagnostics that’s unnecessary if the closure needs to access main actor-isolated values. This particular closure shouldn’t have to be this restrictive.  (145238570)"}],"type":"paragraph"}]}]},{"text":"System Calls","level":3,"anchor":"System-Calls","type":"heading"},{"type":"heading","text":"New Features","anchor":"New-Features","level":4},{"type":"unorderedList","items":[{"content":[{"inlineContent":[{"text":"fileport_makeport(2) and fileport_makefd(2) are now APIs with manual pages.  (66571768) (FB8270900)","type":"text"}],"type":"paragraph"}]}]},{"level":3,"text":"UIWritingToolsCoordinator","anchor":"UIWritingToolsCoordinator","type":"heading"},{"level":4,"type":"heading","text":"Resolved Issues","anchor":"Resolved-Issues"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Fixed: In macOS 15.4 beta, NSWritingToolsCoordinatorDelegate method "},{"type":"codeVoice","code":"-writingToolsCoordinator:requestsRangeInContextWithIdentifierForPoint:completion:"},{"type":"text","text":" is marked as optional and will not be called.  (142681236)"}]}]}]},{"anchor":"URLSession","level":3,"text":"URLSession","type":"heading"},{"text":"New Features","anchor":"New-Features","type":"heading","level":4},{"items":[{"content":[{"inlineContent":[{"type":"text","text":"To enable the new HTTP loading mode, set "},{"type":"codeVoice","code":"usesClassicLoadingMode"},{"text":" to false on URLSessionConfiguration. The new loading mode will become the default in a future release.  (89390075)","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"type":"heading","text":"Virtual Machines","anchor":"Virtual-Machines","level":3},{"type":"heading","level":4,"text":"Resolved Issues","anchor":"Resolved-Issues"},{"items":[{"content":[{"inlineContent":[{"text":"Fixed: M4 Macs are unable to launch virtual machine, and attempts result in a system restart.  (145309647) (FB16542958)","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"text":"WebKit","anchor":"WebKit","level":3,"type":"heading"},{"level":4,"anchor":"New-Features","type":"heading","text":"New Features"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"text":"Added support for ","type":"text"},{"type":"codeVoice","code":"WKWebExtension"},{"text":", ","type":"text"},{"code":"WKWebExtensionContext","type":"codeVoice"},{"type":"text","text":", and "},{"code":"WKWebExtensionController","type":"codeVoice"},{"text":" Swift and Objective-C classes to support integrating Web Extensions into WebKit-based browsers.  (121537087)","type":"text"}]}]}]},{"text":"Writing Tools","level":3,"anchor":"Writing-Tools","type":"heading"},{"text":"Resolved Issues","type":"heading","level":4,"anchor":"Resolved-Issues"},{"type":"unorderedList","items":[{"content":[{"inlineContent":[{"type":"text","text":"Fixed: After generating a list, key point, table, or summary in the pop-over, selecting “Replace” results in an error message.  (145186545)"}],"type":"paragraph"}]}]}]}],"seeAlsoSections":[{"title":"macOS 15","anchor":"macOS-15","identifiers":["doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_6-release-notes","doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_5-release-notes","doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_3-release-notes","doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_2-release-notes","doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_1-release-notes","doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15-release-notes"],"generated":true}],"metadata":{"roleHeading":"Article","role":"article","title":"macOS Sequoia 15.4 Release Notes"},"kind":"article","schemaVersion":{"major":0,"minor":3,"patch":0},"identifier":{"interfaceLanguage":"swift","url":"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_4-release-notes"},"abstract":[{"type":"text","text":"Update your apps to use new features, and test your apps against API changes."}],"references":{"https://developer.apple.com/documentation/storekit/product/subscriptioninfo/renewalinfo":{"titleInlineContent":[{"type":"text","text":"Product.SubscriptionInfo.RenewalInfo"}],"identifier":"https://developer.apple.com/documentation/storekit/product/subscriptioninfo/renewalinfo","url":"https://developer.apple.com/documentation/storekit/product/subscriptioninfo/renewalinfo","type":"link","title":"Product.SubscriptionInfo.RenewalInfo"},"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_2-release-notes":{"type":"topic","abstract":[{"type":"text","text":"Update your apps to use new features, and test your apps against API changes."}],"url":"/documentation/macos-release-notes/macos-15_2-release-notes","role":"article","title":"macOS Sequoia 15.2 Release Notes","kind":"article","identifier":"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_2-release-notes"},"https://developer.apple.com/in-app-purchase/advanced-commerce-api/":{"type":"link","identifier":"https://developer.apple.com/in-app-purchase/advanced-commerce-api/","titleInlineContent":[{"text":"Advanced Commerce API","type":"text"}],"url":"https://developer.apple.com/in-app-purchase/advanced-commerce-api/","title":"Advanced Commerce API"},"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_3-release-notes":{"abstract":[{"text":"Update your apps to use new features, and test your apps against API changes.","type":"text"}],"role":"article","url":"/documentation/macos-release-notes/macos-15_3-release-notes","type":"topic","kind":"article","title":"macOS Sequoia 15.3 Release Notes","identifier":"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_3-release-notes"},"https://developer.apple.com/documentation/storekit/transaction":{"type":"link","identifier":"https://developer.apple.com/documentation/storekit/transaction","title":"Transaction","url":"https://developer.apple.com/documentation/storekit/transaction","titleInlineContent":[{"text":"Transaction","type":"text"}]},"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_6-release-notes":{"kind":"article","title":"macOS Sequoia 15.6 Release Notes","abstract":[{"text":"Update your apps to use new features, and test your apps against API changes.","type":"text"}],"type":"topic","identifier":"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_6-release-notes","role":"article","url":"/documentation/macos-release-notes/macos-15_6-release-notes"},"doc://com.apple.macOS-Release-Notes/documentation/macos-release-notes":{"role":"collection","abstract":[{"type":"text","text":"Learn about changes to the macOS SDK."}],"url":"/documentation/macos-release-notes","title":"macOS Release Notes","type":"topic","identifier":"doc://com.apple.macOS-Release-Notes/documentation/macos-release-notes","kind":"article"},"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_5-release-notes":{"abstract":[{"text":"Update your apps to use new features, and test your apps against API changes.","type":"text"}],"title":"macOS Sequoia 15.5 Release Notes","role":"article","url":"/documentation/macos-release-notes/macos-15_5-release-notes","identifier":"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_5-release-notes","kind":"article","type":"topic"},"https://developer.apple.com/documentation/swiftui/view/dialogpreventsapptermination(_:)":{"url":"https://developer.apple.com/documentation/swiftui/view/dialogpreventsapptermination(_:)","identifier":"https://developer.apple.com/documentation/swiftui/view/dialogpreventsapptermination(_:)","type":"link","title":"dialogPreventsAppTermination(_:)","titleInlineContent":[{"type":"codeVoice","code":"dialogPreventsAppTermination(_:)"}]},"https://developer.apple.com/documentation/swiftui/view/presentationpreventsapptermination(_:)":{"identifier":"https://developer.apple.com/documentation/swiftui/view/presentationpreventsapptermination(_:)","title":"presentationPreventsAppTermination(_:)","titleInlineContent":[{"type":"codeVoice","code":"presentationPreventsAppTermination(_:)"}],"type":"link","url":"https://developer.apple.com/documentation/swiftui/view/presentationpreventsapptermination(_:)"},"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15-release-notes":{"type":"topic","abstract":[{"text":"Update your apps to use new features, and test your apps against API changes.","type":"text"}],"title":"macOS Sequoia 15 Release Notes","url":"/documentation/macos-release-notes/macos-15-release-notes","identifier":"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15-release-notes","role":"article","kind":"article"},"/documentation/Xcode-Release-Notes/xcode-16_3-release-notes":{"titleInlineContent":[{"type":"text","text":"Xcode 16.3 Release Notes"}],"type":"link","identifier":"/documentation/Xcode-Release-Notes/xcode-16_3-release-notes","title":"Xcode 16.3 Release Notes","url":"/documentation/Xcode-Release-Notes/xcode-16_3-release-notes"},"https://developer.apple.com/documentation/storekit/transaction/currententitlement(for:)":{"type":"link","title":"Transaction.currentEntitlement(for:)","identifier":"https://developer.apple.com/documentation/storekit/transaction/currententitlement(for:)","titleInlineContent":[{"type":"codeVoice","code":"Transaction.currentEntitlement(for:)"}],"url":"https://developer.apple.com/documentation/storekit/transaction/currententitlement(for:)"},"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_1-release-notes":{"identifier":"doc://com.apple.macOS-Release-Notes/documentation/macOS-Release-Notes/macos-15_1-release-notes","role":"article","type":"topic","title":"macOS Sequoia 15.1 Release Notes","abstract":[{"type":"text","text":"Update your apps to use new features, and test your apps against API changes."}],"kind":"article","url":"/documentation/macos-release-notes/macos-15_1-release-notes"},"doc://com.apple.documentation/documentation/technologies":{"title":"Technologies","identifier":"doc://com.apple.documentation/documentation/technologies","type":"topic","role":"overview","kind":"technologies","abstract":[{"text":"","type":"text"}],"url":"/documentation/technologies"},"https://developer.apple.com/documentation/storekit/apptransaction":{"identifier":"https://developer.apple.com/documentation/storekit/apptransaction","title":"AppTransaction","titleInlineContent":[{"text":"AppTransaction","type":"text"}],"url":"https://developer.apple.com/documentation/storekit/apptransaction","type":"link"},"https://developer.apple.com/documentation/storekit/transaction/offer-swift.struct":{"type":"link","title":"Transaction.Offer","titleInlineContent":[{"text":"Transaction.Offer","type":"text"}],"url":"https://developer.apple.com/documentation/storekit/transaction/offer-swift.struct","identifier":"https://developer.apple.com/documentation/storekit/transaction/offer-swift.struct"}},"legalNotices":{"copyright":"Copyright &copy; 2026 Apple Inc. All rights reserved.","termsOfUse":"https://www.apple.com/legal/internet-services/terms/site.html","privacyPolicy":"https://www.apple.com/privacy/privacy-policy"}}