Apple Seeds Fifth Beta of macOS 14 Sonoma to Developers

Apple today seeded the fifth beta of the upcoming macOS 14 Sonoma update to developers for testing purposes. The beta comes a couple of weeks after the launch of the fourth beta.

macos sonoma 4
Registered developers can download the beta through the Apple Developer Center and after the appropriate profile is installed, with the betas available through the Software Update mechanism in System Settings.

macOS Sonoma introduces new Apple TV-like screen savers that also serve as wallpapers after you log in, plus it moves widgets to the desktop. You can use the new widget gallery to choose from a range of widgets, and then drag them to your Mac's desktop.

Widgets can be arranged in any way that's useful, and when you're using an app, they are designed to fade into the background so they're less distracting. ‌Widgets‌ are more interactive than before, so you can use them to do things like play music, turn off the lights in your home, and more. Through Continuity, your iPhone's widgets can also show up on your Mac's desktop.

Video conferencing has improved with a new Presenter Overlay view that shows your desktop or project in new ways, plus Safari now supports web apps for the Dock and the option to create Profiles so you can separate personal browsing from work browsing.

Other new features include improved search that's faster and more responsive, password and passkey sharing, a revamped stickers interface for the Messages app, PDF integration in notes that makes it easier than ever to manage PDFs, and more.

‌macOS Sonoma‌ will be in beta testing for several months, with a public release coming this fall.

Related Roundup: macOS Sonoma
Related Forum: macOS Sonoma

Top Rated Comments

Realityck Avatar
9 months ago
Comparison of DB5 to previous DB4

macOS 14 beta 5 (23A5312d)

* Safari Version 17.0 (19616.
* System Firmware Version: 10151.0.305.0.1 (M1 based Macs)
* Darwin Kernel Version 23.0.0: Tue Aug 1 03:25:17 PDT 2023; root:xnu-10002. arm64

macOS 14 beta 4 (23A5301h)

* Safari Version 17.0 (19616.
* System Firmware Version: 10151. (M1 based Macs)
* Darwin Kernel Version 23.0.0: Tue Jul 18 20:35:19 PDT 2023; root:xnu-10002.0.199.505.1~3/RELEASE_ARM64_T8103 arm64

Released today
iOS 17 beta 5 (21A5303d) - August 8, 2023
iPadOS 17 beta 5 (21A5303d) - August 8, 2023
macOS 14 beta 5 (23A5312d) - August 8, 2023
watchOS 10 beta 5 (21R5332f) - August 8, 2023
tvOS 17 beta 5 (21J5330e) - August 8, 2023
Score: 8 Votes (Like | Disagree)
Realityck Avatar
9 months ago
Lots to read
[SPOILER="macOS Sonoma 14 Beta 5 Release Notes"]
[HEADING=2]Accelerate ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* Spatial

* Introduced trigonometry functions for Spatial angle type ('').
* Introduced spherical linear interpolation for Spatial rotations ('').
* Introduced swing-twist decomposition for Spatial rotations ('').


* Introduced BNNSRandomFillCategoricalFloat ('') that fills a tensor with random values from the categorical distributions with event probabilities.
* Introduced k-nearest neighbors calculation ('').

* vImage

* Introduced vImageConvolveFloatKernel_ARGB8888 ('') that applies convolution to 8-bit-per-channel, 4-channel interleaved images using 32-bit floating-point weights.
* Introduced vImageSepConvolve_ARGB8888 ('') that applies separable convolution to 8-bit-per-channel, 4-channel interleaved images.
* Added flood fill, perspective transform, and new lookup table transforms to vImage.PixelBuffer (''). (105830806)

[HEADING=2]Accessibility ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* VoiceOver might not speak inline predictive text in some text fields. (109225941)
Workaround: Users can temporarily turn off inline predictive text in System Settings.
* VoiceOver users might not be able to move focus to enter Recovery mode. Instead users will hear “Accessibility Visuals Agent has no windows.” (109588439)
Workaround: If users hear “Accessibility Visuals Agent has no windows” either click the connected mouse/trackpad or press VO - F1 F1 and move focus to desired app.

[HEADING=2]AirPods ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* To test new features such as Adaptive Audio, Personalized Volume, and Conversation Awareness, developers need to install AirPods beta firmware. To learn more, see Installing Apple Beta Software ('') (110183983)
* With Personalized Volume, when watching third party media, a volume slider might show up. (110266313)
* Conversation Awareness might react to self-made sounds such as humming, throat clearing, and might fail to end automatically when there is ongoing speech nearby. (110266324)
* Conversation Boost in Control Center Hearing Module will not turn on the feature. (110266328)

[HEADING=3]Known Issues ('')[/HEADING]

* Press and Hold AirPods in Settings on iOS and macOS for AirPods will only save the noise control rotations on the local device. (110266311)
* FaceTime calls from iOS answered with macOS with AirPods stem might not able to mute. (110266339)
Workaround: Reboot the machine.
* Spotify App on macOS will automatically route audio from Spotify on iOS without playing audio. (110266347)
* AirPods color might be inverted in dark mode in the tutorial cards for Adaptive Audio. (110266361)

[HEADING=2]App Intents ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* The DeprecatedAppIntent protocol might not show the App Intent as deprecated in the Shortcuts app. (103277731)
* UI shown in Widget configuration and the Shortcuts editor might not respect the size of an array @parameter. (109050453)
* Widget configuration, Focus Filters, and Shortcuts editor might not allow some Measurement dimensions to be configured. (109114787)

[HEADING=2]AppKit ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* See AppKit Release Notes for macOS 14 (''). (110084217)

[HEADING=3]Deprecations ('')[/HEADING]

* Starting macOS 14 Sonoma, whenever the OS detects the usage of ATS or ATSUI APIs, the user will be presented a dialog stating that the application needs to be updated. Once the dialog is dismissed by the user, the application will exit. (100521621)

[HEADING=2]Authentication Services and Passkeys ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* The Credential Provider API for password managers has been expanded to support passkeys. Credential providers can save and offer passkeys for apps and websites across the system. (83501802)
* ASSettingsHelper allows password manager apps to directly open the Settings view where the Credential Provider Extension for system-wide Password AutoFill and passkey sign-in can be enabled. ASSettingsHelper also allows verification code (TOTP) apps to directly open the Settings view where you can configure which app opens verification code setup links. (106351958)

[HEADING=2]Continuity Camera ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* In Control Center’s Video Effects Menu, clicking on the zoom button should reset the zoom level to the default value. If you’re using a Continuity Camera device with only one camera, or the Apple Studio Display camera, it does not reset. (109541385)

[HEADING=2]Control Center / Video Preview ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: Zoom slider in Control Center video preview might be missing for apps when Center Stage is OFF. (110818198)

[HEADING=2]Documentation ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Xcode crashes on macOS Sonoma Beta 1 and Beta 2 when scrolling documentation in Quick Help, the documentation window, and the Swift Package dependency manager. (109810157)

[HEADING=2]Facetime handoff ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: Facetime handoff to another device might result in call drop or no media. (110126569)

[HEADING=2]FaceTime on Apple TV ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: When an Apple TV calls a Mac, a non-human readable string might appear in the calling notification. (110021693)

[HEADING=2]File System ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* The implementations of the exfat and msdos file systems on macOS have changed; these file systems are now provided by services running in user-space instead of by kernel extensions. If the application has explicit checks or support for either the exfat or msdos file systems, validate the applications with those file systems and report any issues. (110421802)

[HEADING=2]Find My ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* The Find My application on macOS might quit unexpectedly while enabling Lost Mode on a device. (109379261)
Workaround: Use the Find My application on to enable Lost Mode.

[HEADING=2]Foundation ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* Introduced TermOfAddress which describes how a person should be addressed in language. This can be used in conjunction with Automatic Grammar Agreement to refer to people in a string using their preferred pronouns and grammatical agreement in English, Spanish, Portuguese, French, Italian, and German. (99745330)
* Foundation now supports grammatical agreement with a detached phrase using the agreeWithConcept markdown attribute. (102595293)

[HEADING=2]Freeform ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Strokes drawn using Beta 2 might appear distorted when viewed on devices running Beta 1. (107901155)
Workaround: Update devices to Beta 2. If Beta 2 strokes are edited on Beta 1, slightly resizing the drawing on a device.
* The Follow Me feature will only work when collaborators are on the same Beta version. (110656281)

[HEADING=2]iCloud ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: Non-local files in iCloud Drive might fail to download and open after using Migration Assistant to set up a new volume. (109798846)

[HEADING=3]Known Issues ('')[/HEADING]

* Users with iCloud Drive sync disabled are unable to access settings for some apps using iCloud. (105284675)
Workaround: Enable iCloud Drive sync, change any settings under “Apps syncing to iCloud Drive”, and disable iCloud Drive sync.
* The System Settings application might become unresponsive after creating a new account and then signing out of iCloud. (109789130)
Workaround: The escape or return key will work to dismiss the sheet. Since the issue does not seem to occur with existing accounts, trying again later or rebooting should resolve the problem.

[HEADING=2]iCloud Drive ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* iCloudDrive folders owned by root or other local users might be inaccessible after upgrade to Sonoma. (109204311)
Workaround: NA
* Enabling desktop and documents sync might fail after upgrade to Sonoma. (109507087)
Workaround: The user can try again at a later time.
* Finder or Apps might hang when accessing App created folder with .folder extension. (112600553)

[HEADING=2]iCloud Settings ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Users might not be able to view Apps Syncing to Drive in iCloud Drive Settings. (110732437)
Workaround: Go to iCloud Settings>Show All>iCloud Drive>Apps syncing to iCloud Drive.

[HEADING=2]Installation ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Updates to macOS 14 beta will freeze if installing to a HFS formatted volume on intel machines. (112165783)

[HEADING=2]iPhone Widgets on Mac ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* iPhone Widgets on Mac might appear duplicated if switching between more than one supported iPhone as source. (108567555)
* iPhone Widgets on Mac might not be removed when disabling iPhone Widgets On Mac in System Settings. (109236950)
* iPhone Widgets on Mac might not populate on the Edit Widgets add sheet until after a reboot post sign in. (109479534)
* iPhone Widgets on Mac might not be removed when signing out of iCloud. (109527436)
* iPhone Widgets on Mac might not update upon wake from sleep. They will update at the next cadence when the Mac and iPhone are nearby and awake. (109691143)
* iPhone widgets on Mac allow XL widgets from iPhone to be available. If assets are not available on the iPhone, the assets will be missing. (109782417)
* iPhone Widgets on Mac that contain drop down sortable lists in their configurations might fail to configure. (109976067)
* iPhone Widgets on Mac might not update upon wake from sleep. They will update at the next cadence when the Mac and iPhone are nearby and awake. (109978135)
* iPhone Widgets on Mac might not be removed when disabling iPhone Widgets On Mac in System Settings. (110804620)
* Widget App icons might appear blank in the Add Sheet if Mac is updated from Beta 2 to Beta 3 before iPhone is updated. (111334099)
* iPhone widgets on Mac might not be available if 2 users are signed into the same Mac at the same time. (111336466)

[HEADING=3]Known Issues ('')[/HEADING]

* iPhone Widgets on Mac might lead to additional power draw on iPhone if a Mac signed into the same iCloud account is present. (110074764)
Workaround: Disable iPhone Widgets on Mac in System Settings on macOS.

[HEADING=2]Localization ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Some content might appear in English. Some strings might appear clipped. (109393568)

[HEADING=2]Lockdown Mode ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* When erasing a Mac that has Lockdown Mode turned on, the Lockdown Mode state might inadvertently persist in NVRAM. (109470608)
Workaround: Before erasing a Mac with Lockdown Mode turned on, turn off Lockdown Mode in System Settings > Privacy & Security > Lockdown Mode.

[HEADING=2]Login Window ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Users will be missing or duplicated when the multi-user layout is shown. (108899565)
Workaround: Select the Other user or press option+return to show the name and password fields and enter the credentials for a user that is missing from the layout.
* When using a smart card, the multi-user layout can be accessed. (109425371)
* When the lock screen settings specify login window shows the Name and Password layout, the user picture and name will be shown when using a smart card. (109425984)
* The password field might not show the PIN placeholder text when using a smart card. (109428156)
* The “Your password is required to enabled Touch ID” message might be shown when smart card is in use. (109429083)

[HEADING=2]Mac App Store ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Users are unable to create new Apple IDs in the Mac App Store. (108293571)
Workaround: Create an Apple ID in the Music app or on another platform, such as the iOS App Store.

[HEADING=2]Mac Catalyst ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* *Catalyst Optimized for Mac:

* SwiftUI ToolbarContent in Catalyst apps Optimized for Mac was previously bridged into the Mac toolbar (NSToolbar) dependent on whether the view containing the toolbar content filled the entire scene (width and height matched within a small floating point margin). In macOS 14.0 and later, toolbar content is now bridged into the Mac toolbar if the heights approximately match and only the leading edge aligns with the scene’s leading edge. In practice this might change a Catalyst app that had two NavigationStacks side by side with toolbar content. Prior to macOS 14.0, neither stack would have its toolbar content bridged into the Mac toolbar and all toolbar content would be in the toolbar of the NavigationStacks themselves. On and after macOS 14.0, the leading stack will have its toolbar content bridged, while the trailing stack’s content will stay in the stack’s toolbar. (108519092)

[HEADING=2]Maps ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* When a LinearGradient stroke is used with a MapPolyline in SwiftUI, the specified gradient color might be ignored. (106152300)
* When using Map, Xcode emits a runtime warning that “Publishing changes from within view updates is not allowed.” (106174743)
* At certain zoom levels, the title of a selected MKMarkerAnnotationView can overlap other marker titles. (109491779)
* For non-Catalyst SwiftUI apps, some Maps controls like the legal link and compass appear outside the safe area. (109611122)

[HEADING=2]Media ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed muting capture in all other tabs when Safari starts camera and/or microphone capture in a tab. (109896538)

[HEADING=3]Known Issues ('')[/HEADING]

* MP3 files with malformed ID3 tags will fail to play (110230071)

[HEADING=2]Messages ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* The transcription for long audio messages is truncated without a way to expand and view the full transcription. (107174385)
* The Catch up affordance might display incorrectly. (109468262)
Workaround: Leave and return to the affected conversation.
* Unexpected visual artifacts might appear when the transcription is inserted while sending an audio message. (109799338)
Workaround: Scroll the transcript, or leave and return to the conversation.

[HEADING=2]Metal Ray Tracing ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* The methods assume_curve_control_point_count, assume_curve_basis, and assume_curve_type on intersection_params and intersector, the methods get_curve_control_point_count, get_curve_basis, and get_curve_typeon intersection_params, and the related curve_basis and curve_typeenumerations, are not supported in the Metal Shading Language. (104142182)
* After initializing an intersection_query with an acceleration structure using max_levels<Count> where Count > 2, calls to next() might cause the GPU to restart. (108863335)
Workaround: Force the ray to be opaque by specifying force_opacity(forced_opacity::opaque) on the intersection_params for the ray.
* Reflection returned via the new {Render|Compute|Tile}PipelineWithDescriptor API for ray tracing pipelines might be incorrect. (109850134)

[HEADING=2]Networking ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* URLSession supports resumable uploads in HTTP. Just like download tasks, upload tasks can now be paused and resumed if the server supports the latest protocol draft. To learn more, see Resumable Uploads for HTTP (''). (68890505)
* Apple devices now support connection to 802.1X networks using EAP-TLS with TLS 1.3 (EAP-TLS 1.3). EAP-TLS 1.3 further improves security and privacy by always providing forward secrecy, never disclosing the peer identity, and by mandating use of revocation checking when compared to EAP-TLS with earlier versions of TLS. (74526852)

[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: For apps linked on or after iOS 17 and aligned OS versions, App Transport Security now requires secure connections to external IP addresses by default. For more information on these requirements, see Preventing Insecure Network Connections (''). Exceptions can be made using NSExceptionDomains (''), which now supports exceptions for individual IP addresses and ranges specified in classless inter-domain routing (CIDR) notation. (101967030)
* Fixed: For apps linked on or after iOS 17 beta, macOS 14 beta, watchOS 10 beta, and tvOS 17 beta, the Transfer-Encoding header field of a streamed HTTP/1 request is set to chunked instead of Chunked. (107390029)

[HEADING=2]Photos ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* A new PHContentEditingOutput.renderedContentURL(for:) API adds support for UTType.heic encoded rendered image content. (109861295)

[HEADING=3]Known Issues ('')[/HEADING]

* Applications providing image content via PHContentEditingOutput.renderedContentURL in formats other than UTType.jpeg will fail with an .invalidResourceerror. (110068158)

[HEADING=2]Pre-filled Titles for Events and Reminders ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* Messages now supports machine learning based pre-filled titles for English events and reminders. Tap or long-press the highlighted date/time in an SMS or iMessage conversation and select ‘Create Event’ to trigger this feature. (110889506)

[HEADING=2]Presenter Overlay ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Moving small Presenter Overlay while a Keynote presentation is played in fullscreen mode temporarily stops the presentation from being shared. (110033699)
Workaround: Click on Keynote application to restart sharing or use the “Play in Window” option.

[HEADING=2]Printing ('')[/HEADING]
[HEADING=3]Deprecations ('')[/HEADING]

* macOS has removed the functionality for converting PostScript and EPS files to PDF format. As a result, CoreGraphics’ CGPSConverter returns an error when invoked, ImageIO no longer converts EPS files, NSEPSImageRep does not display EPS files, and PMPrinterPrintWithFile does not accept a PostScript file for non-PostScript print queues. (110019863)

[HEADING=2]Reactions ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Reactions aren’t currently available when using video conferencing apps in Safari. (109789920)

[HEADING=2]Rosetta ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Intel applications might quit unexpectedly on launch under Rosetta. (110021755)
Workaround: Open Rosetta 2 in /System/Library/CoreServices, then click “Install.”

[HEADING=2]Safari ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Safari might offer search suggestions while in Private Browsing by using an on-device model. The search terms are not sent from the device to a search provider. (105606453)

[HEADING=2]Screen Sharing ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* A High Performance connection requires a network that supports at least 75Mbps for one 4K virtual display and at least 150Mbps for two 4K virtual displays. Low network latency is also required for responsiveness. (110068856)

[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: During screen sharing sessions using the new High Performance mode, the display connected to the server Mac might not be blank. Activity in the screen sharing session will be visible on the server Mac’s display during and after the session ends. (109837767)

[HEADING=3]Known Issues ('')[/HEADING]

* When the viewer window in Screen is made full screen with Dynamic Resolution enabled in a High Performance connection, the video content might not resize to fill the window. (109683500)
* The video and cursor might lag during a High Performance connection with two 4K virtual displays to an M1 or M1 Pro server (110342712)

[HEADING=2]Screen Time Settings ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Selecting a family member in Screen Time causes an error to occur in iCloud accounts with Family Sharing enabled and a family member that is under 18. (110736804)
Workaround: Open the Family settings, select a family member, and click Screen Time.

[HEADING=2]ScreenSharing ('')[/HEADING]
[HEADING=3]Deprecations ('')[/HEADING]

* Use of legacy CGDisplayStream APIs to capture screen content will result in additional consent alerts. (110529324)

[HEADING=2]ShazamKit ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: SHManagedSession.State is unavailable. (109670750)
* Fixed: SHLibrary.default.items is unavailable. (109670918)

[HEADING=2]StoreKit ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* Users have access to the new Product.SubscriptionInfo.Status.all sequence to get the status for each of your app’s subscription groups. One can use the new subscriptionStatus property on the latest Transaction ('') value for a subscription to access the full status information. (102064614)
* StoreKit 2 now provides a collection of UI components to help merchandise in-app purchases. Use ProductView, StoreView and SubscriptionStoreView to add in-app purchases to an app with just a few lines of code. (102066107)
* Users can access in-app purchase product metadata and entitlement information from a SwiftUI view using new view modifier APIs in StoreKit. Declare a view as dependent on a single product or collection of products using storeProductTask(for:priority:action:) or storeProductsTask(for:priority:action:) respectively. Declare a view as dependent on the current entitlement for a product using currentEntitlementTask(for:priority:action:). Declare a view as dependent on the status of a subscription group with subscriptionStatusTask(for:priority:action:). All of the modifiers will start a task to load the data before the view appears, and provide your action with the state of the task as it progresses and whenever the data changes. (102397222)
* User have access to the new groupLevel property of Product.SubscriptionInfo ('')to understand the level of service of a subscription plan. (103885148)
* Users have access to the new reason, and storefront properties on Transaction ('')to understand the reason why the transaction was created, and which storefront it is for. The new renewalDate property on RenewalInfo ('') to understand if and when a subscription will renew next. (104246730)
* Users have access to new groupDisplayName property of Product.SubscriptionInfo ('') to get the localized display name of a subscription plan’s group. (105689964)
* The subscriptionStoreControlBackground(_:) ('') view modifier is available when using StoreKit and SwiftUI. Use this modifier to set the background behind controls in SubscriptionStoreView ('') instances within a view to a gradient material effect, or any shape style. (105690554)
* The productViewIconBorder() ('') view modifier is available when using StoreKit and SwiftUI. Use this modifier on the icons to provide ProductView ('') and StoreView ('') to add a standard border around the icon. (106649532)
* You can now customize the button style used for purchase and subscribe buttons in ProductView (''), StoreView ('') and SubscriptionStoreView ('') instances. Use the buttonStyle(_:) ('') view modifier to choose any standard button style, or a custom button style. (107713282)
* StoreKit ViewsProductView and StoreView have initializers have initializers that give you access to the promotional icon as a SwiftUI view and the various phases of the loading operation. Use initializers such as init(id:icon:placeholderIcon:) (''), [init(_:icon:)](, init(ids:icon:placeholderIcon:)](, and [init(products:icon:)` ('') to provide an icon view for each phase. (110470147)
* The following StoreKit types are renamed:
• DefaultProductViewStyle is renamed to AutomaticProductViewStyle ('')
• DefaultSubscriptionStoreMarketingContent is renamed to AutomaticSubscriptionStoreMarketingContent ('')
• DefaultProductPlaceholderIcon is renamed to AutomaticProductPlaceholderIcon ('') (111185321)

[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed the loading animation for StoreView ('') instances displaying a single product. (110414023)
* Fixed issue where StoreView ('') or SubscriptionStoreView ('') content might appear in English, or show a localization key, instead of showing localized text for the App Store storefront. (110734447)
* Fixed an issue which can cause unexpected layouts when providing a tall view as custom marketing content for a SubscriptionStoreView (''). (112862984)

[HEADING=3]Known Issues ('')[/HEADING]

* When testing in the sandbox environment, the groupDisplayName property on Product.SubscriptionInfo ('') might return an empty string if the localization in the current storefront is not in an approved state. When using the SubscriptionStoreView without providing a marketing content view, the automatic view might show the name of the app instead of the subscription group’s display name. (107206601)
Workaround: Use StoreKit Testing in Xcode instead of sandbox to test this functionality.
* New StoreKitTest APIs are now available when testing on macOS: setSimulatedError(_:forAPI:) (''), simulatedError(forAPI:) (''), and buyProduct(identifier:options:) ('') (110547347)

[HEADING=2]Swift ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* Properties of @observable and @Model types currently always require default values or optionality. (109441094)

[HEADING=2]Swift Charts ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* Enable scrolling in a chart using view modifier chartScrollableAxes(_:). (70444254)
* Use chartXSelection, chartYSelection and chartAngleSelection to enable selection on a chart. If needed, use chartGesture to override the default gesture for selection. (79083764)
* Swift Charts now supports creating pie charts and donut charts using the new SectorMark API. (102309263)
* Pass an AnnotationOverflowResolution to the annotation modifier to specify how to align an annotation when it would otherwise overflow the bounds of the chart or the plot. (106009062)
* Use ChartProxy.plotContainerFrame to obtain the visible portion of the plot in a scrollable chart.
Chart { ... }
.chartOverlay { proxy in
GeometryReader { geometry in
if let plotContainerFrame = proxy.plotContainerFrame {
let frame = geometry[plotContainerFrame]
.stroke(.black, lineWidth: 1)


[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed a crash with certain combinations of chart content. (105197081)
* Fixed an issue where frequent updates to a chart caused unexpected growth in memory footprint. (107611114)
* Fixed: When a selection gesture goes out of bounds, the selection binding will now be clamped to the nearest data value rather than set to nil. (108398019)
* Fixed: Improved performance and CPU usage for charts with selection bindings. (108954531)
* Fixed: Improved animations for charts in a widget. (110035011)
* Fixed an issue where the compositingLayer chart content modifier caused marks with custom symbols to disappear. (110399956)
* Fixed an issue where the compositingLayer chart content modifier caused annotation boundary resolutions to behave unexpectedly. (112232314)
* Fixed: Improved performance and CPU usage for scrolling charts with scroll position bindings. (113149095)

[HEADING=3]Known Issues ('')[/HEADING]

* If major alignment is specified for scroll behavior, scrolling charts always align to the major unit and skip minor units. (107644532)
* Scrolling charts might behave unexpectedly on right-to-left languages. (109129343)
* chartXSelection might produce unexpected results on right-to-left languages. (109129439)
* The use of chartScrollPosition(x:) or chartScrollPosition(y:) on a Datebinding will lead to a runtime crash. (109287449)
Workaround: Use a TimeInterval binding for chartScrollPosition(x:) and chartScrollPosition(y:) on Date axes.

[HEADING=2]SwiftData ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* Conflicting writes from other processes sharing the same file can cause a crash. (109488127)

[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: Existing @Query property declarations might not always correctly infer the model type for predicate and sort descriptor parameters. (Note: the @Query attribute is now resolved as a macro, instead of as a property wrapper.)
For example, specifying a filter predicate as a parameter to the @Query attribute will now require explicitly providing the model type used in the predicate, i.e. #Predicate<ModelType> { … } instead of #Predicate { … }:
@Query(filter: #Predicate<Person> { ... }) var people: [Person]

Another example: passing a sort descriptor or key path will now require explicitly providing the model type used for the root type of the key path, i.e. \ instead of \.property:
@Query(sort: [SortDescriptor(\]) var people: [Person]

@Query(sort: \ var people: [Person]

In all cases, the model type used in the filter: and sort: parameters is still required to be the same type used as the element in the query’s wrapped array type, and will emit a build error if not. (109433172)
* Fixed: willSet and didSet observers will prevent @Model from properly transforming those stored properties and they will not persist. (109664186)

[HEADING=3]Known Issues ('')[/HEADING]

* Properties with default values are not initialized correctly. (107887871)
Workaround: Set the property value in initializer instead.
* @Query results can appear stale or fail to refresh. (108385553)
* Case value is not stored properly for a string rawvalue enumeration. (108634193)
Workaround: Don’t use a rawvalue with a string enum property.
* Schema migration can fail when nesting non-optional properties inside an optional containing struct. (108854663)
* Properties with .externalStorage are not being stored in peripheral files. (108972391)
* Scene modifier isUndoEnabled does not propagate correctly. (109373617)
Workaround: Use view modifier.
* Modeled enum properties with default values won’t compile unless they are fully qualified values. (109421492)
Workaround: Fully qualify enum values in property’s default value.
* SwiftData queries will not work with #Predicate { true } and #Predicate { false } will cause a crash. (109425342)
Workaround: Use a logically true expression like { 1 == 1 }.
* #Predicate does not support UUID, Date, and URL properties. (109539652)
* @Query using SortDescriptors based on .reverse sorting on strings can fail to fetch results. (109572633)
Workaround: Sort ordered .forward.
* Creating a @Query with a sortdescriptor that uses a relationship keypath will crash. (109626376)
* SwiftData queries don’t support some #Predicate flatmap and nil coalescing behaviors. (109723704)
* Xcode code generation for SwiftData Models from CoreData xcdatamodels will refer to originalName instead of renamingIdentifier. (109782236)
Workaround: Use renamingIdentifier.
* Unsigned applications using Document API without a proper app container might overwrite the default container. (109784405)
Workaround: Codesign the project.
* After deleting an item, SwiftUI might attempt to reference the deleted content during the animation causing a crash. (109838173)
Workaround: Explicitly save after a delete.
* Custom schema migrations with SchemaMigrationPlan will fail. (110114696)

[HEADING=3]New Features ('')[/HEADING]

* Adds .accessoryBar and .accessoryBarAction button styles on macOS for buttons used in the context of an accessory toolbar (sometimes referred to as a “scope bar”).
Buttons of the .accessoryBar style typically narrow the focus of a search or other operation.
Buttons of the .accessoryBarAction style perform extra actions releative to the accessory toolbar’s main functions, like adding or editing filters.
Both styles affect other view types that you can apply a button style to, like Toggle, Picker, and Menu, in addition to Button. (44351471)
* Bordered buttons on macOS now support flexibly large heights for larger label sizes. If the label has no preferred size or a small size, the button will be the standard macOS button height. However, if the button label has a larger minimum size, the button will also now grow larger instead of clipping the label. (56652012)
* Adds new view modifiers to customize alerts and other dialogs within a view.

* Use dialogIcon(_:) to customize the icon. In macOS, this icon replaces the default icon of the app. This modifier has no effect in other platforms.
* Use dialogSeverity(_:) to set the severity of confirmation dialogs and alerts, which can help indicate that extra care should be taken when choosing a particular action in the dialog.
* Use dialogSuppressionToggle to enable user supression of dialogs and alerts in macOS. (62920817)

* RoundedRectangle now defaults to the continuous corner style. (63246947)
* .onChange has new overloads where the closure takes 0 or 2 arguments, these new versions will call the new version of the closure (i.e. after the specified value has changed), so any captured properties will have up to date values. The previous overload (which calls the old version of the closure) has been deprecated. (67344857)
* Spring animations will now default to being critically damped (i.e. a bounce of 0). (75149732)
* Scenes in Catalyst now support the windowResizability modifier. (84203422)
* Added support for dialogSeverity in Catalyst applications. (95918809)
* Use the springLoadingBehavior(_:) view modifier to control spring loading behavior of views.
Some views, like TabView, default to allowing spring loading, while others, like Button, do not.
Spring loading refers to a view being activated during a drag and drop interaction. On iOS this can occur when pausing briefly on top of a view with dragged content. On macOS this can occur with similar brief pauses or on pressure-sensitive systems by “force clicking” during the drag. (96569875)
* Lists using the SidebarListStyle hosted in primary column of a UIKit UISplitNavigationController were previously rendering with an insetGroupedappearance. With this change they will render as the expected sidebar appearance similar to if the List were hosted in a SwiftUI NavigationSplitView. (96909195)
* The toolbar and navigationTitle modifiers now work outside of the SwiftUI App Lifecycle on macOS. Use NSHostingView.sceneBridgingOptions to enable or disable this functionality. (101092365)
* The SceneStorage dynamic property now works when using an NSHostingView, provided the view and its window have been configured for state restoration via AppKit. See NSUserInterfaceItemIdentification and NSWindowRestoration for more information regarding state restoration in AppKit. (101097013)
* DismissAction can now be used to programmatically close an NSWindow when its contentView is an NSHostingView. (101097410)
* ProgressView labels can be hidden with the labelsHidden view modifier. (101517619)
* The badge view modifier now works on views within a menu in macOS. Use a badge to convey optional, supplementary information about a menu item. (102025014)
* Use the buttonRepeatBehavior(_:) view modifier to make buttons repeatedly trigger their actions on prolonged interactions. Apply this to buttons that increment or decrement a value or perform some other inherently iterative operation. Interactions such as pressing-and-holding on the button, holding the button’s keyboard shortcut, and holding down the space key while the button is focused trigger this repeat behavior. (102156410)
* Animation.default now uses a spring animation equivalent to Animation.spring. In addition, Animation.default is now only equal to itself when using ==, allowing users to differentiate between animations that were intentionally chosen and those that use the default animation. (103169056)
* During gesture change callbacks, velocity will automatically be tracked so that it can be applied to animations that finish when the gesture finishes. (103371523)
* View.focusable() now opts in to keyboard focus whether or not keyboard navigation is enabled in System Settings. For the previous behavior, pass .activate for the modifier’s interactions argument. (104616966)
* When two Text are vertically adjacent (for example in a VStack with no spacer in between) SwiftUI will automatically calculate appropriate spacing. To opt-out if this behavior either place a Spacer or specify spacing parameter to the container view. (104782785)
* For apps built using the macOS 14 SDK, using DismissAction to close a window will default to using DismissBehavior.interactive. (105406945)
* When an NSHostingView is the contentView of an NSWindow, its sceneBridgingOptions property will default to .all, unless otherwise specified. (106216343)
* When using @Environment(\.self) to capture an entire EnvironmentValues, SwiftUI will now track which properties are accessed to only invalidate the property when those properties change. (106310433)
* Use the new navigationDestination(item:destination:) overload to present a navigation destination when a bound item is non-nil, or to dismiss the destination when the bound item becomes nil again. (106319528)
* Shapes now default to mirroring when in a right to left layout direction. (107405880)
* Changing from one Gradient value to another will now animate, but only once apps are rebuilt against the new SDK. (107408691)
* All Sections inside List and Table can be configured to be collapsible using new initializers on Section. Previously all Sections inside Lists using the SidebarListStyle received outline disclosure indicators in every header. Section headers will no longer render this control by default. An outline disclosure will only be provided in the header if the Section is initialized with an isExpanded binding to a bool. This bool represents the isExpanded state of the Section. Sections created with an isExpanded binding inside a Table on macOS will now provide a default outline disclosure indicator to collapse or expand the Section. (107592493)
* The listSectionSpacing modifier can now be used within Lists. (109271050)
* Scenes in Catalyst now support the defaultSize modifier. (110038374)

[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed:Menu could not be used with hoverEffect. (67879883)
* Fixed an issue where dynamically enabled buttons (e.g. with a TextField) were not updated in alerts. (95917673)
* Fixed: menuStyle(.button) is compatible with custom button style implementations. Applying a custom buttonStyle on a Menu is supported. (96156722)
* Fixed: DatePicker on macOS now maintains a fixed ideal size instead of filling the width of its container. (98798881)
* Fixed: Scroll environment properties like isScrollEnabled and scrollDismissesKeyboardMode are no longer propagated past nested scroll views. (99195890)
* Fixed: Previously it was possible for views animating their removal via a transition to be drawn above a view with the same zIndex that has not yet been removed. This was unintentional and has now been updated: views transitioning out of the view hierarchy are always drawn below non-removed views with the same zIndex. (101085960)
* Fixed: Table row identifiers in ForEach are now derived from their ForEach identifier rather than the TableRow identifier within the ForEach. In this example, from within a Table:
ForEach(myData) { data in

the resulting identifiers used by SwiftUI are now rather than If user needs to restore prior behavior, specify the ID explicitly using the id of the ForEach. (101174261)
* Fixed: Table supports triggering primaryAction of contextMenu with return key. (101194950)
* Fixed: LazyVGrid or LazyHGrid has an improved layout when used with fixedSize(). (103075945)
* Fixed: List and Table on macOS now have visible separators by default, unless unspecified or unless alternating row backgrounds are enabled. Separators can be explicitly hidden using the existing listRowSeparator(.hidden) modifier on the rows views. (103687472)
* Fixed: fileImporter and fileMover view modifiers now require calling URL.startAccessingSecurityScopedResource() before accessing the provided URL, and URL.stopAccessingSecurityScopedResource() when user no longer needs access to a file or directory pointed to by a security-scoped URL. (104448864)
* Fixed: The new .navigationDestination(item:content:) modifier now works correctly both inside a NavigationStack and outside a stack but inside a column of a NavigationSplitView.
Inside a stack, setting the bound item to a non-nil value will push a view onto the stack immediate above the view containing the modifier. Setting the bound item to a nil value will pop the view.
Outside a stack but inside a column of a NavigationSplitView, setting the bound item to a non-nil value will replace the root view of the subsequent column. Setting the bound item to a nil value will restore the original root view. (106106406)
* Fixed: When a flexible frame modifier (e.g. frame(minHeight: 100, maxHeight: 200)) is used inside a scroll view the modified view could end up truncating content. This would most often be visible with the content view being a VStack with multiline text. (107014454)
* Fixed: When scrolling to the end of a scroll view using ScrollViewReader, the final offset will be clamped to the scroll view’s total content size and no longer overscroll. (107558652)
* Fixed: Removed a spurious warning, “NavigationLink presenting a value must appear inside a NavigationContent-based NavigationView. Link will be disabled.” (107877668)
* Fixed: Suggested search tokens will be hidden by default when the search text is not empty (108381393)
* Fixed: ScrollView when used with the searchable modifier has an improved transition when presenting or dismissing search on iOS and iPadOS. (109265624)
* Fixed an issue where NSHostingView would not appear when printed using NSPrintOperation. (109412691)
* Fixed: Two NavigationSplitView initializers taking columnVisibility as a value rather than a Binding. (109426553)
* Fixed: macOS under-toolbar/full-height inspectors now behave as presented in the WWDC23 inspector session. Notably the full-height appearance was previously used incorrectly sometimes. (109532401)
* Fixed: Inspector presentations no longer have an animation glitch. Inspector presentations no longer increase window size on first presentation unless the window is forced to grow larger by navigationSplitColumnWidth modifiers (FB12488754). (111577034)

[HEADING=3]Known Issues ('')[/HEADING]

* Views in Lists and Lazy Stacks might be improperly displayed after scrolling. (108021411)
* Clicking on a button can errantly warn about updating state during a view update. (109610945)
* View.defaultFocus(_:_:) isn’t reliable with text controls. (109750983)
Workaround: Manually update focus state bindings from an action passed to View.onAppear(perform:).
* View.onKeyPress(_:action:) can’t filter key presses when bridged controls have focus. (109799056)

[HEADING=2]SwiftUI Navigation ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: Animations inside Navigation* structures are no longer disabled. (107771283)

[HEADING=2]SwiftUI Outline ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: Leaf views in OutlineGroups (those views where the children keyPath argument has a value of nil) are no longer wrapped in implicit HStacks. If relying on an implicit HStack before, users will now see multiple rows when linking against the new SDK.
In this example:
private struct Node: Identifiable {
let id = UUID()
let name: String
let children: [Node]?

fileprivate let data = [
Node(name: "One", children: [.init(name: "Two", children: nil)]),
Node(name: "A", children: [
.init(name: "B", children: nil),
.init(name: "C", children: nil),
.init(name: "D", children: nil),

struct OutlineExample: View {
var body: some View {
List(data) { node in
DisclosureGroup("Node \(", isExpanded: .constant(true)) {
OutlineGroup(node, children: \.children) { child in
Label("Row:", systemImage: "circle.hexagonpath.fill")
Text("Node \(")


[HEADING=2]Symbol Effects ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* In the objective-C API in Symbols.framework, requesting effectWithWholeSymbol on NSSymbolPulseEffect and NSSymbolBounceEffect will result in the effect being configured to animate by layer instead. (109284710)

[HEADING=2]System UI Languages ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* There are some strings left in English for people running macOS 14.0 Beta in other languages. (109520700)

[HEADING=2]Trusted Execution ('')[/HEADING]
[HEADING=3]New Features ('')[/HEADING]

* /usr/bin/syspolicy_check is a new command line tool to help determine if the provided macOS application will pass the current running configurations’ system policy. This includes the same checks performed by the Apple notary service and other macOS Trusted Execution layers such as codesign, Gatekeeper, XProtect, and more. Please see the main page for additional details. (108737781)
* /usr/bin/gktool is a new command line tool to assess Gatekeeper Policy on applications. gktool can be called to pre-warm the system cache so users do not see the ‘Verifying…’ dialog on first launch of an application. (109793778)

[HEADING=3]New Features ('')[/HEADING]

* The query rects passed in to -layoutAttributesForElementsInRect: will be more specific to the collection view’s frame, and the rect might intersect with previously queried frames. If subclassing a UIKit vended layout and modifying the frames of elements by applying offsets, make sure that the same offset is applied to the rect passed in to -layoutAttributesForElementsInRect: as well, or the user might see items disappearing when they shouldn’t be. (108663389)

[HEADING=2]Video Effects ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: The Video Effects menu bar item might not appear for certain applications. (110038665)

[HEADING=3]Known Issues ('')[/HEADING]

* Changing video effects settings for an application that accepts camera input changes the settings for other applications that also accept camera input. (108229728)
Workaround: Use Control Center to change video effects settings as needed per application use.

[HEADING=2]Virtualization ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Installing the macOS Seed in a virtual machine might fail on a host Mac. (109234128)
Workaround: Install the latest Developer Seed of Xcode or Device Support from the Developer download page on the host Mac and retry installing the macOS Seed in the virtual machine.

[HEADING=2]Vision ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: VNDetectHumanBodyPose3DRequest now returns results for images/frames of people without depth metadata or camera intrinsics explicitly provided. (109723859)
* Fixed issue with cameraOriginMatrix so a 180 rotation around x axis is no longer required. Please reference updated sample code for WWDC Session 111241. (110726503)

[HEADING=2]Weather Averages ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Placeholders are displayed in locations where Weather averages data isn’t available. (110133240)

[HEADING=2]Web Apps ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: When the system is set to dark mode, the title bar for web apps now appear correctly. (99514840)
* Fixed: After allowing permission access, the web app correctly appears in System Settings > Privacy & Security > Location Services. (109499769)

[HEADING=3]Known Issues ('')[/HEADING]

* Clicking a notification activates the web app on the current page instead of opening the expected URL. (107906244)

[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: While a Mac has active traffic via Wi-Fi, you might experience difficulty discovering and connecting to Continuity Camera. (109954955)

[HEADING=2]WidgetKit ('')[/HEADING]
[HEADING=3]Known Issues ('')[/HEADING]

* Some widgets on macOS, especially those that use App Intents for Configuration, might not work properly the first time the system is started. (109518265)
Workaround: Reboot the system before adding Widgets. If you have already added Widgets that are showing empty, delete the Widget, reboot, and re-add it.

[HEADING=3]New Features ('')[/HEADING]

* Added support for inline predictions for autocomplete. (105197136)

[HEADING=2]Xcode ('')[/HEADING]
[HEADING=3]Resolved Issues ('')[/HEADING]

* Fixed: Xcode might crash when creating a new file. (112337760)

Score: 5 Votes (Like | Disagree)
Realityck Avatar
9 months ago

What betas prove to me and its not just Apple, is that writing code is really black magic. Because with all the years of code development, code bases, Apple still needs to test what they create in public in order to make sure its safe for commercial use.
That is what beta testing is about besides all the in-house testing their thousands of staff do. You gradually expand the variety of hardware platforms each with their respective software variances. in-house -> developers -> Public beta testers.
Score: 5 Votes (Like | Disagree)
nortonandreev Avatar
9 months ago

This is an insane change log. Are they always this big??
That’s the changelog from the previous betas, just carried over. I’m not sure what the beta 4 vs beta 5 changelog has as difference (things fixed or new known issues).
Score: 4 Votes (Like | Disagree)
Mr. Dee Avatar
9 months ago
What betas prove to me and its not just Apple, is that writing code is really black magic. Because with all the years of code development, code bases, Apple still needs to test what they create in public in order to make sure its safe for commercial use.
Score: 4 Votes (Like | Disagree)
zorinlynx Avatar
9 months ago
Has anyone found a way to keep MacOS from re-opening EVERY SINGLE APPLICATION I was running before I reboot to update? It'll do this even if I close everything before hitting restart. It's infuriating!
Score: 4 Votes (Like | Disagree)

Popular Stories

Provenance Emulator

PlayStation, GameCube, Wii, and SEGA Emulator for iPhone and Apple TV Coming to App Store

Friday April 19, 2024 8:29 am PDT by
The lead developer of the multi-emulator app Provenance has told iMore that his team is working towards releasing the app on the App Store, but he did not provide a timeframe. Provenance is a frontend for many existing emulators, and it would allow iPhone and Apple TV users to emulate games released for a wide variety of classic game consoles, including the original PlayStation, GameCube, Wii,...
Delta Feature

Delta Game Emulator Now Available From App Store on iPhone

Wednesday April 17, 2024 9:58 am PDT by
Game emulator apps have come and gone since Apple announced App Store support for them on April 5, but now popular game emulator Delta from developer Riley Testut is available for download. Testut is known as the developer behind GBA4iOS, an open-source emulator that was available for a brief time more than a decade ago. GBA4iOS led to Delta, an emulator that has been available outside of...
iPad Air 12

12.9-Inch iPad Air Now Rumored to Feature Mini-LED Display

Thursday April 18, 2024 7:37 am PDT by
The rumored 12.9-inch iPad Air that is expected to be announced in May will be equipped with a mini-LED display like the current 12.9-inch iPad Pro, according to Ross Young, CEO of research firm Display Supply Chain Consultants. The existing 10.9-inch iPad Air is equipped with a standard LCD panel, and the move to mini-LED technology for the 12.9-inch model would provide increased brightness for...
iPhone 15 Pro Action Button Translate

All iPhone 16 Models to Feature Action Button, But Usefulness Debated

Tuesday April 16, 2024 6:54 am PDT by
Last September, Apple's iPhone 15 Pro models debuted with a new customizable Action button, offering faster access to a handful of functions, as well as the ability to assign Shortcuts. Apple is poised to include the feature on all upcoming iPhone 16 models, so we asked iPhone 15 Pro users what their experience has been with the additional button so far. The Action button replaces the switch ...