Implement two-way communication between an iOS app and its paired watchOS app.


Use this framework to transfer data between your iOS app and the WatchKit extension of a paired watchOS app. You can pass small amounts of data or entire files. You also use this framework to trigger an update to your watchOS app's complication.

After initiating a transfer from your app, the system assumes responsibility for the transmission of any data. Most transfers happen in the background when the receiving app is inactive. When the app wakes up, it is notified of any data that arrived while it was inactive. Live communication is also possible when both apps are active.


First Steps

Initiate transfers between your iOS app and watchOS app.


The object that initiates communication between a WatchKit extension and its companion iOS app.


A delegate protocol that defines methods for receiving messages sent by a WCSession object.

Data Objects

Monitor the progress of files being transferred.


Information about a file currently being transferred between an iOS app and WatchKit extension.


Information about in-progress file transfers.


Information about in-progress data transfers.

Sample Code

Using Watch Connectivity to Communicate Between Your Apple Watch App and iPhone App

Implement two-way communication between your Apple Watch app and the paired iPhone app with the Watch Connectivity framework.