Apple Seeds Fourth Betas of iOS 16.4 and iPadOS 16.4 to Developers [Update: Public Beta Available]

Apple today seeded the fourth betas of upcoming iOS 16.4 and iPadOS 16.4 updates to developers for testing purposes, with the software coming a week after the launch of the third betas.

iOS 16
Registered developers are able to download the iOS 16.4 and iPadOS 16.4 updates over-the-air after installing the appropriate profile from the Developer Center. Going forward, beta updates will not require a profile and will instead be done directly on device through an Apple ID linked to a developer account.

iOS 16.4 and iPadOS 16.4 add new emoji characters, including shaking head, pink heart, light blue heart, donkey, moose, jellyfish, hyacinth, ginger, black bird, and more. There are 31 new emoji in total, including left and right hand options in several skin tones.

Safari Web Push notifications have been added on the iPhone and iPad, and you can receive them from websites that have been added to the Home Screen on your device. Web Push notifications are identical to the notifications that you get from websites on the Mac, and behave like any other iOS notification.

Third-party browsers like Chrome are now able to let users add websites and websites to the ‌Home Screen‌, and Apple has reintroduced the HomeKit architecture upgrade. There are also changes to Podcasts, minor updates to Apple Music, new options for Shortcuts, a reintroduced page turning animation for Apple Books, and more, with a full list of new features in iOS 16.4 and iPadOS 16.4 available in our features guide.

Related Forum: iOS 16

Popular Stories

iPhone 17 Air Size Feature

'iPhone 17 Air' With Rear Camera Bar Allegedly Shown in Leaked Photo

Tuesday January 21, 2025 12:46 pm PST by
A leaker known as "Majin Bu" today shared an alleged image of a component for the rumored, ultra-thin "iPhone 17 Air" model. The blurry, pixelated image shows a pair of rear iPhone shells with a pill-shaped, raised camera bar along the top. On the left side of the bar, there is a circular cutout that appears to be for a single rear camera. On the right side of the bar, there appears to be an ...
Generic iOS 19 Feature Mock Light

iOS 19 Leak Reveals All-New Design

Friday January 17, 2025 2:42 pm PST by
iOS 19 is still around six months away from being announced, but a new leak has allegedly revealed a completely redesigned Camera app. Based on footage it obtained, YouTube channel Front Page Tech shared a video showing what the new Camera app will apparently look like, with the key change being translucent menus for camera controls. Overall, the design of these menus looks similar to...
iOS 18

Here Are Apple's Full Release Notes for iOS 18.3

Tuesday January 21, 2025 4:31 pm PST by
Apple provided developers and public beta testers with the release candidate version of iOS 18.3 today, and with it comes release notes confirming what's new. While we knew about several of the features that are in the update, there are some lesser known tweaks and bug fixes. The update adds new Visual Intelligence features for iPhone 16 models, it tweaks Notification summaries on all...
iPhone SE Dynamic Island Majin Bu

iPhone SE 4 Leak Shows Dynamic Island, Casts Doubt on Rumored 'iPhone 16E' Name

Monday January 20, 2025 9:01 am PST by
A new iPhone SE is widely rumored to launch this year, and the device has potentially been confirmed today by known leaker Evan Blass. In a private social media post, Blass shared an image of what appears to be source code mentioning an iPhone SE (4th Gen), which casts doubt on the alternative "iPhone 16E" name rumored for the device. However, the name in the source code could be a...
2024 App Store Awards

Apple Explains Why It Removed TikTok From the App Store in the U.S.

Sunday January 19, 2025 6:58 am PST by
Apple on late Saturday removed TikTok from the App Store in the U.S., and it has now explained why it was required to take this action. Last year, the U.S. passed a law that required Chinese company ByteDance to divest its ownership of TikTok due to potential national security risks, or else the platform would be banned. That law went into effect today, and companies like Apple and Google...
truecaller

Truecaller iOS Update Rolls Out Real-Time Caller ID Support

Wednesday January 22, 2025 2:07 am PST by
Popular caller ID app Truecaller is rolling out an update that brings real-time caller ID support to its iOS subscribers. Apple introduced Live Caller ID Lookup in iOS 18, allowing third-party caller ID apps to securely retrieve information about a caller from their servers, hence today's Truecaller update. iPhone users can enable the Live Caller ID Lookup feature by going to Settings ➝ ...
airtag 4 pack blue

AirTag 2 Launching This Year With These 3 New Features

Sunday January 19, 2025 8:11 am PST by
After a four-year wait, a new AirTag is finally expected to launch in 2025. Below, we recap rumored upgrades for the accessory. A few months ago, Bloomberg's Mark Gurman said Apple was aiming to release the AirTag 2 around the middle of 2025. While he did not offer a more specific timeframe, that means the AirTag 2 could be announced by the end of June. The original AirTag was announced...
ipad pro 2024

New iPad Pro Reportedly Launching This Year

Tuesday January 21, 2025 6:40 am PST by
Apple plans to release at least one new iPad Pro model this year, according to a supplier-focused report today from Korean website The Elec. It is likely that the 11-inch and 13-inch iPad Pro models would be updated simultaneously. After receiving an OLED display last year, the report said the iPad Pro will receive only "minor" changes this year. Overall, the next iPad Pro is expected to...
Apple Pay Walmart Feature

Walmart Stands Firm on Why It Doesn't Accept Apple Pay in the U.S.

Thursday January 23, 2025 7:32 am PST by
Walmart still does not accept Apple Pay or other NFC payments at its more than 4,600 stores across the U.S., and it stood firm on its reasoning for that today. A spokesperson for Walmart today informed MacRumors that its position on contactless payments has not changed since we last reached out about the matter in 2022. The big-box retailer said it remains focused on its own convenient...

Top Rated Comments

DFZD Avatar
24 months ago
The question on everyone's mind.. is this RC?

Score: 11 Votes (Like | Disagree)
Realityck Avatar
24 months ago
Released today

* iOS 16.4 beta 4 (20E5239b) - March 15, 2023
* iPadOS 16.4 beta 4 (20E5239b) - March 15, 2023
* macOS 13.3 beta 4 (22E5246b) - March 15, 2023
* watchOS 9.4 beta 4 (20T5249a) - March 15, 2023
Score: 8 Votes (Like | Disagree)
TheYayAreaLiving ?️ Avatar
24 months ago

Beta 4 is here!!. @TheYayAreaLiving ? Do I still everyone $1. LOL ?

I’d be very surprised, given that 90% of users believe its launching next month. if it is RC, then I‘d expect final launch very soon

Yes sir! Unfortunately, you do. Yesterday is gone forever. The balance is due. People are waiting! I'll add it to your invoice bill ? . Thank you! :D
@hovscorpion12 The running balance can be waived if you can guess the release date of iOS 16.4 (correctly). Choose your date wisely. Otherwise, the amount will be doubled. ??

https://forums.macrumors.com/threads/when-will-apple-release-ios-16-4.2383698/
Score: 8 Votes (Like | Disagree)
TheYayAreaLiving ?️ Avatar
24 months ago

Beta 4 is here!!. @TheYayAreaLiving ? Do I still everyone $1. LOL ?
Yes sir! Unfortunately, you do. Yesterday is gone forever. The balance is due. People are waiting! I'll add it to your invoice bill ? . Thank you! :D
Score: 7 Votes (Like | Disagree)
TheYayAreaLiving ?️ Avatar
24 months ago
One step closer! Nice!! ?
Score: 6 Votes (Like | Disagree)
Realityck Avatar
24 months ago
[SPOILER="iOS & iPadOS 16.4 Beta 4 Release Notes"]
[HEADING=2]Backup and Restore ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Backup-and-Restore')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Known-Issues')[/HEADING]

* Watch migration might fail when restoring a backup to a new phone. (105416351)
Workaround: Unpair the watch from the source phone, then pair it to the destination phone.

[HEADING=2]Beta enrollment for iPhone and iPad ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Beta-enrollment-for-iPhone-and-iPad')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#New-Features')[/HEADING]

* Beginning with iOS & iPadOS 16.4 beta, members of the Apple Developer Program will see a new option to enable developer betas directly from Software Update in Settings. This new option will be automatically enabled on devices already enrolled in the program that update to the latest beta release. Your iPhone or iPad must be signed in with the same Apple ID you used to enroll in the Apple Developer Program in order to see this option in Settings. In future iOS and iPadOS releases, this new setting will be the way to enable developer betas and configuration profiles will no longer grant access. (101692915)

[HEADING=2]Core ML ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Core-ML')[/HEADING]
[HEADING=3]Deprecations ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Deprecations')[/HEADING]

* Core ML Model Deployment is being deprecated. Consider using Background Assets or NSURLSession instead. (102993813)

[HEADING=2]Core Telephony ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Core-Telephony')[/HEADING]
[HEADING=3]Deprecations ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Deprecations')[/HEADING]

* CTCarrier, a deprecated API, returns static values for apps that are built with the iOS 16.4 SDK or later. (76283818)

[HEADING=2]Developer Settings ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Developer-Settings')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#New-Features')[/HEADING]

* Hang Detection stays enabled after rebooting. (105618983)

[HEADING=2]Home ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Home')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#New-Features')[/HEADING]

* Both manual and automatic Software Update support is now available for Matter Accessories. (102727759)

[HEADING=3]Known Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Known-Issues')[/HEADING]

* The iOS device that initiates the pairing needs to be on the same iCloud account with the home hub. Only the owner of a home, not an invited user, can pair Matter accessories. (76012945)
* You might receive an error when pairing a Matter accessory using the 11 digit setup code. (101554366)
Workaround: Pair the accessory using the QR code instead.
* When a manual software update is attempted on a Matter accessory with an available update, Home might not indicate that the update has been requested and continue to indicate an update is available. (104902918)
Workaround: Check the Software Update pane in Home Settings at a later time, as the update might be taking place in the background.
* The software update screen for Matter accsories might display the incorrect version number while an update is in progress. (105031569)
* Right after pairing, an available firmware update is not offered in the Home app. (105757029)
Workaround: Reboot all residents.
* When there are multiple of the same accessory type updating to the same firmware or if there are back-to-back firmware versions for one accessory (during an incremental update), the new firmware update might not be offered. (105787380)
Workaround: Reboot all residents or unpair the accessory and re-pair by clicking the “More options…” link to pair the accessory from there.

[HEADING=2]iCloud Drive ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#iCloud-Drive')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Known-Issues')[/HEADING]

* Filesystem APIs such as NSFileManager might trigger materialization of dataless files and/or directory structures in iCloud Drive, leading to hangs or performance problems for the calling application. (105009536)
Workaround: Avoid calling anything which performs I/O on the main thread. Adopt UICollectionViewDataSourcePrefetching and load cells asynchronously. I/O should be wrapped under -[NSFileCoordinator coordinateAccessWithIntents:queue:byAccessor:] to avoid blocking a thread on a synchronous call. Alternatively, opt out of this behavior by setting your IO policy to IOPOL_MATERIALIZE_DATALESS_FILES_OFF but expect that I/O might fail with EDEADLK, if any component of the path is dataless (SF_DATALESS).
* iCloud Drive might become unresponsive when opened from the Files app. (105438692)
Workaround: Restart your device.
* A loading indicator might appear, and the contents of iCloud Drive might be inaccessible within the Files app. (106232492)

[HEADING=2]Keyboards ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Keyboards')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#New-Features')[/HEADING]

* Updates to Keyboards include:

* Support for new Unicode 15.0 Emoji.
* Autocorrect for the Korean keyboard is enabled by default for testing and feedback.
* Ukrainian keyboard now supports predictive text.
* Gujarati, Punjabi, and Urdu keyboards add support for transliteration layouts.
* New keyboard layouts are available for Choctaw and Chickasaw. (105243233)


[HEADING=2]MapKit ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#MapKit')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Resolved-Issues')[/HEADING]

* Fixed: Improved performance of MKOverlay objects. (102187262)

[HEADING=2]Pages, Numbers, and Keynote ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Pages-Numbers-and-Keynote')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Known-Issues')[/HEADING]

* When Advanced Data Protection for iCloud is turned on, Pages, Numbers, and Keynote might unexpectedly require collaborative documents to be closed. (103463223)
Workaround: Close the affected document, spreadsheet, or presentation and reopen it after a few minutes.

[HEADING=2]Passkeys and Authentication Services ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Passkeys-and-Authentication-Services')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#New-Features')[/HEADING]

* Web browsers on iOS with the com.apple.developer.web-browser entitlement now have passkey AutoFill within their WKWebView. This capability works without requiring any code changes or needing to rebuild. (97576198)
* A new AuthorizationController ('https://developer.apple.com/documentation/authenticationservices/authorizationcontroller') API allows you to perform passkey and other types of authorization requests from SwiftUI views. (97576703)
* A new WebAuthenticationSession ('https://developer.apple.com/documentation/authenticationservices/webauthenticationsession') API allows you to perform OAuth and other types of web-based authentication flows from SwiftUI views. (101259868)

[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Resolved-Issues')[/HEADING]

* Fixed: AutoFill, including AutoFill for passkeys and passwords, now works with input elements contained in a Shadow DOM in web content. (103859657)
* Fixed: Calling PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() or PublicKeyCredential.isConditionalMediationAvailable() from a web page in a WKWebView now correctly returns whether passkeys can be used, based on the Associated Domains of the calling app. (104094169)

[HEADING=3]Known Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Known-Issues')[/HEADING]

* Conditional mediation requests (passkey AutoFill) in web content don’t abort when their AbortSignal is fired. (99535627)

[HEADING=2]Pencil ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Pencil')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#New-Features')[/HEADING]

* Apple Pencil hover now provides Tilt and Azimuth support. (105412781)

[HEADING=2]Safari Web Extensions ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Safari-Web-Extensions')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#New-Features')[/HEADING]

* Added support for modifyHeaders action type for declarativeNetRequest rules. (71867709)
* Added support for browser.storage.session to store up to 10MB of data in-memory. (79283961)
* Added support for persistent content scripts via browser.scripting.registerContentScript, browser.scripting.getRegisteredContentScripts, browser.scripting.unregisterContentScripts, and scripting.updateContentScripts. (91261369)

[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Resolved-Issues')[/HEADING]

* Fixed browser.webNavigation events firing for hosts where the extension didn’t have access. Extensions should request host permissions for sites to receive events. (100204850)

[HEADING=2]SKAdNetwork ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#SKAdNetwork')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Resolved-Issues')[/HEADING]

* Fixed an issue where SKAdNetwork for Web Ads didn’t accept ad impressions. (104839712)

[HEADING=2]StoreKit ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#StoreKit')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#New-Features')[/HEADING]

* New StoreKit 2 APIs are available for promoted in-app purchases. Apps can receive promoted product purchase data from the App Store with PurchaseIntent.intents and can manage promoted order and visibility with Product.PromotionInfo. (85321849)

[HEADING=2]SwiftUI ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#SwiftUI')[/HEADING]
[HEADING=3]New Features ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#New-Features')[/HEADING]

* A family of new view modifiers lets you build even richer resizable sheet experience with SwiftUI. Use these new modifiers to make the view behind a sheet interactive, provide a translucent background, control scrolling and expansion behavior, and even adjust the corner radius of the sheet.
To let people interact with the content behind a sheet, use the .presentationBackgroundInteraction(_:) modifier. The following example enables people to interact with the view behind the sheet when the sheet is at the smallest detent, but not at the other detents:
struct ContentView: View { @State private var showSettings = false
var body: some View { Button("View Settings") { showSettings = true } .sheet(isPresented: $showSettings) { SettingsView() .presentationDetents( [.height(120), .medium, .large]) .presentationBackgroundInteraction( .enabled(upThrough: .height(120))) } } }
Give your sheet a translucent background with the new presentationBackground(_:)modifier. The following example uses the thick material as the sheet background:
struct ContentView: View { @State private var showSettings = false var body: some View { Button("View Settings") { showSettings = true } .sheet(isPresented: $showSettings) { SettingsView() .presentationBackground(.thickMaterial) } } }
Add a custom view as the background of your sheet with the presentationBackground(alignment:content:) modifier.
By default, when a person swipes up on a scroll view in a resizable presentation, the presentation grows to the next detent. A scroll view embedded in the presentation only scrolls after the presentation reaches its largest size. Use the new presentationContentInteraction(_:) modifier to control which action takes precedence.
For example, you can request that swipe gestures scroll content first, resizing the sheet only after hitting the end of the scroll view, by passing the .scrolls value to this modifier:
struct ContentView: View { @State private var showSettings = false
var body: some View { Button("View Settings") { showSettings = true } .sheet(isPresented: $showSettings) { SettingsView() .presentationDetents([.medium, .large]) .presentationContentInteraction(.scrolls) } } }
(101565636)
* Apply the new .presentationCompactAdaptation(_:) modifier to the content of a modal presentation to control how it adapts to compact size classes on iPad and iPhone.
For example, the popover modifier presents a popover on iPad. By default, a popover adapts to the narrow horizontal size class on iPhone by showing as a sheet. In the example below, the .presentationCompactAdaptation(.none) modifier asks SwiftUI to show this as a popover on iPhone as well.
struct PopoverExample: View { @State private var isShowingPopover = false var body: some View { Button("Show Popover") { self.isShowingPopover = true } .popover(isPresented: $isShowingPopover) { Text("Popover Content") .padding() .presentationCompactAdaptation(.none) } } }
Use .presentationCompactAdaptation(horizontal:vertical:) to adapt differently in horizontally and vertically compact size classes. (103257577)

[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Resolved-Issues')[/HEADING]

* Fixed: ScrollView has improved support for right to left languages by default. If you have a ScrollView that shouldn’t change its behavior in right to left languages, use the .environment(\.layoutDirection, .leftToRight) modifier to ensure the ScrollView always sees a left to right layout direction. (65108729)
* Fixed: Presentations in SwiftUI using the ‘sheet’ or ‘fullScreenCover’ modifier can now be dynamically presented again while a dismiss animation is in progress. Previously, attempting to present again in this case would do nothing.
Note: A data race in app code that was previously ignored might cause a sheet to be presented again with this change. If this happens, check that your state isn’t triggering a new presentation. (101487810)
* Fixed: Refreshable modifiers applied to lists will no longer also apply to lists or scroll views within the content of that list. Re-apply a refreshable modifier to the content of the list if this is desired behavior. (102052575)
* Fixed: The no-argument presentationBackground() modifier has been removed. Use one of the overloads taking an explicit ShapeStyle or View instead. (105598868)

[HEADING=3]Deprecations ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Deprecations')[/HEADING]

* TimelineView initializers that pass an instance of TimelineView<_, _>.Context into its content closure have been deprecated in this release, and replaced with equivalent versions that pass an instance of TimelineViewDefaultContext instead.
In TimelineView code that does not generate a warning, no action is needed: code that does not explicitly annotate the context type will use the new API when recompiled, without any change in functionality.
In TimelineView code that does show this new deprecation warning, changing type annotations from TimelineView<_, _>.Context to TimelineViewDefaultContext will resolve the warning.
This change improves the performance of compiling Swift and SwiftUI code. The new initializer uncouples the generic type of the TimelineView being instantiated from the generic type of the context passed into its content closure, avoiding the need for the compiler to reconcile those types during compilation. (100641618)
* Several table initializers that were previously deprecated and replaced in iOS 16.2 and macOS 13.1 have now been removed from the API. Using these initializers will now generate a build error, with a Fix-It to switch to the replacement initializer API. For code that doesn’t generate this error, no action is needed.
This change, along with other improvements in the Swift compiler, improve the performance of compiling Swift and SwiftUI code.
The new, replacement API adds a parameter, of:, that identifies the type of the Table’s row values separately from the initializer’s row and column content closure parameters. This improves compilation performance in two ways. First, by knowing the row value type up-front, the compiler doesn’t need to infer that type from the body implementations of each closure. Second, the compiler can immediately enforce that each closure uses the same row value type in its body implementation, instead of needing to verify that the inferred types are equal after evaluating each closure.
The following examples show code for creating a Table before and after adoption of the new API:
// before (will now produce an error):Table { TableColumn("Name", value: \.name) TableColumn("Email", value: \.email)} rows: { ForEach(people) { person in TableRow(person) }}
// after:Table(of: Person.self) { TableColumn("Name", value: \.name) TableColumn("Email", value: \.email)} rows: { ForEach(people) { person in TableRow(person) }}
(102910184)

[HEADING=2]SwiftUI Navigation ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#SwiftUI-Navigation')[/HEADING]
[HEADING=3]Resolved Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Resolved-Issues')[/HEADING]

* Fixed: Navigation destinations nested within NavigationStack and NavigationSplitVieware detected more performantly and reliably, no longer logging update cycles. (97597634)
* Fixed: Navigation destinations that present a new view on top of a NavigationSplitViewColumn (rather than pushing a view onto a stack in that column) no longer cause an assertion failure on iOS or infinite loop on macOS when the destination view is itself a NavigationStack.
For example, the below construction is functional
NavigationSplitView { SidebarView() .navigationDestination(isPresented: $present) { NavigationStack { ... } }} detail: { ... }
(103278180)
* Fixed: Navigation destinations with data dependencies captured from ancestor views update more reliably.
struct DataDependentNavigation: View { @State var changeColor: Bool = false @State var present: Bool = false
var body: some View { NavigationSplitView { Color.blue .navigationDestination(isPresented: $present) { // This is a data dependency from an ancestor view changeColor ? Color.green : Color.yellow } } detail: { Color.teal }}
(103429535)

[HEADING=2]Wallet ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Wallet')[/HEADING]
[HEADING=3]Known Issues ('https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes#Known-Issues')[/HEADING]

* An error might occur when adding or presenting an ID card. (105302759)

[/SPOILER]
Score: 4 Votes (Like | Disagree)