What's new in watchOS 4.0 for coders?

List of new features and changes, that watchOS developers will face while working with version 4.0
28 September 2017   1557

watchOS 4.0 was released recently, along with new iPhone, iOS 11 and MacOS High Sierra

Let's figure out, what new features and change are there in new version of watchOS, that are relared to the development itself.

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 CMAltimiterCMPedometerCMMotionActivityManager, 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.


  • 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.

See official docs and release notes for more information.

Apple to Relaese Swift 5

Official builds are prepared for Linux (Ubuntu 14.04, 16.04, 18.04) and macOS (Xcode)
27 March 2019   997

After a year of development, Apple released the update of the Swift v. 5. Official builds are prepared for Linux (Ubuntu 14.04, 16.04, 18.04) and macOS (Xcode). The source code is distributed under the Apache 2.0 license.

The new version has ABI stabilized for macOS, iOS, tvOS and watchOS platforms. It is possible to deliver new versions of libraries without recompiling applications. In the standard library, the internal representation of strings is translated to UTF-8 encoding. Improved support for raw text (with special characters and line breaks) in string literals. New type for Result error handlers and SIMD vector type added. The possibilities for interpolating strings with the String type (text selection from arbitrary data) are expanded. The performance of the Dictionary and Set types has been increased.

The package manager provides support for mirroring dependencies, associating assembly parameters with a target platform, generating coverage data, and defining custom requirements for supported target platforms. The ability to import libraries into the REPL without assembly in the format of executable files has been added to the "swift run" command.

Get more info at official website