What's New in watchOS

watchOS 4.0

This article summarizes the key developer-related features introduced in watchOS 4.0, which runs on currently shipping watchOS devices. The article also lists the documents that describe new features in more detail.

For late-breaking news and information about known issues, see watchOS 4 Release Notes.

For a complete list of new, modified, and deprecated APIs, see Apple Developer Documentation.

To learn about what’s new in Swift, see Swift in What’s New in Xcode and The Swift Programming Language (Swift 4) .

App Services New in watchOS 4.0- Support for machine learning models. Added the Core ML framework for easily integrating machine learning models into apps.

New in watchOS 4.0 - SiriKit support for notes and to-do lists. Added the Lists and Notes domain to SiriKit to support using Siri to add notes, interact with to-do lists, and interact with reminders.

Added intents to SiriKit domains. Added ride canceling and feedback to the Ride Booking domain. Added transferring money and searching for accounts to the Payments domain.

Enhanced triggers for HomeKit. Enhanced time-based conditions for triggers. HMSignificantTimeEvent specifies an offset from sunrise and sunset. HMCalendarEvent specifies a date and time. HMDurationEvent specifies a time interval. Added HMCharacteristicThresholdRangeEvent for representing devices that report their state as a number range, such as blinds that report a position from 0 to 1 (instead of open or closed.) Added HMPresenceEvent for adding a condition based on the presence or absence of users. Updated HMEventTrigger to enable multiple occurrences.

Added home:didUpdateHomeHubState: to support receiving updates of the home hub state.

Enhanced end user transaction flow in Apple Pay. Added PKPaymentError to PassKit, a structure for detailed reporting of errors in a user's shipping and payment information, and for authorization errors. Developers can use the information to provide a customized error string. Updated the handler methods in PKPaymentAuthorizationControllerDelegate to receive a PKPaymentError . Updated PKPaymentRequest to use PKContactField for contact information. Added supportedCountries to PKPaymentRequest for specifying supported countries for a transaction. Addded support for presenting payment buttons even if there are no supported payment methods in Wallet. Apple Pay now handles payment without leaving your app, and then returns to checkout.

Added the authorizationStatus method to the CMAltimiter , CMPedometer , CMMotionActivityManager , and CMSensorRecorder classes of the Core Motion framework. The method is used to determine if an app is authorized to recieve data from a source.

System Updated the APIs in the Core Bluetooth framework to match across iOS, tvOS, watchOS, and macOS, and marked the platform availability of each API.

APFS is now the default filesystem. Added normalization-insensitive support for a case sensitive filesystem.

