Apple Releases First Public Beta of iOS 16.4 and iPadOS 16.4 With New Emoji, Safari Web Push Notifications, HomeKit Update and More

Apple today seeded the first beta of upcoming iOS 16.4 and iPadOS 16.4 updates to public beta testers, opening the beta testing process up to the general public. Today's betas come one day after Apple provided the betas to developers.


Public beta testers who have signed up for Apple's free beta testing program can download the ‌iOS 16.4‌ beta over the air after installing the proper certificate from the Public Beta website.

This is the last beta that will use certificates in this way as future beta updates will be linked to an Apple ID for both developers and public beta testers.

The iOS 16.4 and iPadOS 16.4 updates add a number of new emoji characters, including shaking head, pink heart, blue heart, gray heart, donkey, moose, black bird, goose, wing, jellyfish, hyacinth, pea pod, ginger, fan, comb, flute, maracas, and left and right facing hand options.

ios 16 4 emoji characters
Safari Web Push notifications are available, but web developers will need to add support. With this feature, you can add a website to your Home Screen and the website can send you push notifications, just like on the Mac. These notifications behave like any other iOS notification and can be filtered out with Focus mode, delivered on Apple Watch, and more

There's a new add to ‌Home Screen‌ option for third-party browsers so you can add a favorite Chrome site directly to your ‌Home Screen‌, plus the HomeKit architecture upgrade that was pulled from iOS 16.2 is now available again.

Apple has made minor tweaks to the Podcasts app, Apple Music app, and the AppleCare coverage interface, plus there are new Shortcuts, 5G connectivity in Turkey, an option to add an always-on display filter to Focus more, and more. Full details on everything new can be found in our dedicated iOS 16.4 guide.

Related Forum: iOS 16

Popular Stories

iphone 16 pro ghost hand

5 Reasons to Skip This Year's iPhone 17 Pro

Thursday July 10, 2025 4:54 am PDT by
Apple will launch its new iPhone 17 series in two months, and the iPhone 17 Pro models are expected to get a new design for the rear casing and the camera area. But more significant changes to the lineup are not expected until next year, when the iPhone 18 models arrive. If you're thinking of trading in your iPhone for this year's latest, consider the following features rumored to be coming...
apple wallet drivers license feature iPhone 15 pro

Apple Says iPhone Driver's Licenses Will Expand to These 8 U.S. States

Tuesday July 8, 2025 11:26 am PDT by
In select U.S. states, residents can add their driver's license or state ID to the Wallet app on the iPhone and Apple Watch, providing a convenient and contactless way to display proof of identity or age at select airports and businesses, and in select apps. Unfortunately, this feature continues to roll out very slowly since it was announced in 2021, with only nine U.S. states, Puerto Rico,...
iPhone 17 Pro in Hand Feature Lowgo

iPhone 17 Pro to Reverse iPhone X Design Decision

Monday July 7, 2025 9:46 am PDT by
Since the iPhone X in 2017, all of Apple's highest-end iPhone models have featured either stainless steel or titanium frames, but it has now been rumored that this design decision will be coming to an end with the iPhone 17 Pro models later this year. In a post on Chinese social media platform Weibo today, the account Instant Digital said that the iPhone 17 Pro models will have an aluminum...
iPhone 17 Pro in Hand Feature Lowgo

Leaker Reveals Amount of RAM in iPhone 17 Through iPhone 17 Pro Max

Wednesday July 9, 2025 8:08 am PDT by
Three out of four iPhone 17 models will feature more RAM than the equivalent iPhone 16 models, according to a new leak that aligns with previous rumors. The all-new iPhone 17 Air, the iPhone 17 Pro, and the iPhone 17 Pro Max will each be equipped with 12GB of RAM, according to Fixed Focus Digital, an account with more than two million followers on Chinese social media platform Weibo. The...
apple account card feature

Apple Account Card Expanding to More Countries

Tuesday July 8, 2025 7:34 pm PDT by
Apple is expanding the ability to add an Apple Account Card to the Wallet app to more countries, according to backend Apple Pay changes. With iOS 15.5, Apple updated the Wallet app to allow users to add an Apple Account Card, which displays the Apple credit balance associated with an Apple ID. If you receive an Apple gift card, for example, it is added to an Apple Account that is also...
macbook pro blue green

M5 MacBook Pro No Longer Coming in 2025

Thursday July 10, 2025 12:38 pm PDT by
Apple does not plan to refresh any Macs with updated M5 chips in 2025, according to Bloomberg's Mark Gurman. Updated MacBook Air and MacBook Pro models are now planned for the first half of 2026. Gurman previously said that Apple would debut the M5 MacBook Pro models in late 2025, but his newest report suggests that Apple is "considering" pushing them back to 2026. Apple is now said to be...
iOS 26 Feature

Everything New in iOS 26 Beta 3

Monday July 7, 2025 1:20 pm PDT by
Apple is continuing to refine and update iOS 26, and beta three features smaller changes than we saw in beta 2, plus further tweaks to the Liquid Glass design. Apple is gearing up for the next phase of beta testing, and the company has promised that a public beta is set to come out in July. Transparency In some apps like Apple Music, Podcasts, and the App Store, Apple has toned down the...
iCloud General Feature Redux

iPhone Users Who Pay for iCloud Storage Receive These Five Perks

Wednesday July 9, 2025 9:20 am PDT by
If you pay for iCloud storage on your iPhone, did you know that Apple offers you five perks beyond the extra storage space, at no additional cost? Here are the perks included with all iCloud+ plans:Private Relay keeps your Safari browsing history entirely private from network providers, websites, and even Apple. Hide My Email generates unique, random email addresses whenever needed. Hom...

Top Rated Comments

vegetassj4 Avatar
31 months ago
How dare they have a ginger emoji without a Mary ann one.
Score: 14 Votes (Like | Disagree)
vegetassj4 Avatar
31 months ago

That isn't dancing baby groot?
I am Root


Attachment Image
Score: 13 Votes (Like | Disagree)
azentropy Avatar
31 months ago

How dare they have a ginger emoji without a Mary ann one.
That isn't dancing baby groot?
Score: 4 Votes (Like | Disagree)
NigelJordann Avatar
31 months ago
With the new update way for Beta’s, should we delete the public beta profile now?
Score: 4 Votes (Like | Disagree)
Realityck Avatar
31 months ago
[SPOILER="iOS & iPadOS 16.4 Beta Release Notes"]
[HEADING=2]Backup and Restore[/HEADING]
[HEADING=3]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[/HEADING]
[HEADING=3]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[/HEADING]
[HEADING=3]Deprecations[/HEADING]

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

[HEADING=2]Core Telephony[/HEADING]
[HEADING=3]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]Home[/HEADING]
[HEADING=3]New Features[/HEADING]

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

[HEADING=3]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 Updated Recently section will display the new software version once the Matter accessory has completed the software update.
* The software update screen for Matter accsories might display the incorrect version number while an update is in progress. (105031569)

[HEADING=2]iCloud Drive[/HEADING]
[HEADING=3]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.

[HEADING=2]Keyboards[/HEADING]
[HEADING=3]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[/HEADING]
[HEADING=3]Resolved Issues[/HEADING]

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

[HEADING=2]Pages, Numbers, and Keynote[/HEADING]
[HEADING=3]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[/HEADING]
[HEADING=3]New Features[/HEADING]

* Web browsers on iOS with the com.apple.developer.web-browserentitlement 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=2]Passkeys and AuthenticationServices framework[/HEADING]
[HEADING=3]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 WKWebViewnow correctly returns whether passkeys can be used, based on the Associated Domains of the calling app. (104094169)

[HEADING=3]Known Issues[/HEADING]

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

[HEADING=2]Pencil[/HEADING]
[HEADING=3]New Features[/HEADING]

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

[HEADING=2]Safari Web Extensions[/HEADING]
[HEADING=3]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[/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[/HEADING]
[HEADING=3]Resolved Issues[/HEADING]

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

[HEADING=2]StoreKit[/HEADING]
[HEADING=3]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.intentsand can manage promoted order and visibility with Product.PromotionInfo. (85321849)

[HEADING=2]SwiftUI[/HEADING]
[HEADING=3]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 .scrollsvalue 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[/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: 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)

[HEADING=3]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[/HEADING]
[HEADING=3]Resolved Issues[/HEADING]

* Fixed: Navigation destinations nested within NavigationStack and NavigationSplitView are 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[/HEADING]
[HEADING=3]Known Issues[/HEADING]

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



[/SPOILER]
Score: 3 Votes (Like | Disagree)
Realityck Avatar
31 months ago

Yes because 24 hours is enough time to determine no battery improvements based on one persons experience from the interwebs.
I wasn't talking about battery improvements, just casual usage in the first days usage. If something drains a battery because of some change in defaults of settings or an app I regularly use I would notice a much quicker drain of the battery. Yes that has occurred before when testing betas. ;)
Score: 3 Votes (Like | Disagree)