Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check if iPhone is paired with apple watch?

In my app,

I need to find if my phone is paired with a apple watch and get some information about the paired watch like its name. I tried reading the documentation but I couldn't seem to find any thing specific to my use case.

Any help is appreciated.

like image 996
Vamsi Krishna Avatar asked Apr 05 '15 13:04

Vamsi Krishna


3 Answers

So since WatchOS 2 that is possible !

You have to do on iPhone side :

First :

import WatchConnectivity

Then :

   if WCSession.isSupported() { // check if the device support to handle an Apple Watch
        let session = WCSession.default()
        session.delegate = self
        session.activate() // activate the session

        if session.isPaired { // Check if the iPhone is paired with the Apple Watch
                // Do stuff
        }
    }

I hope It would help you :)

like image 156
BilalReffas Avatar answered Nov 20 '22 13:11

BilalReffas


The best you can do is write to a shared NSUserDefaults value the first time the user opens your WK app, then check for that value in your iOS app. Beyond that there's no info you can get.

like image 38
bgilham Avatar answered Nov 20 '22 14:11

bgilham


The idea is taken from @BilalReffas answer, but in WatchOS versions greater than 2.1 activate() method is asynchronous, so the offered solution won't work (it always returns false, even if watch is connected)

Firstly import SDK

import WatchConnectivity

Then implement session activation request

if WCSession.isSupported() { // check if the device support to handle an Apple Watch
    let session = WCSession.default
    session.delegate = self
    session.activate() // activate the session
}

Then implement methods from WCSessionDelegate

func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {
    if activationState == .activated && session.isPaired { // Check if the iPhone is paired with the Apple Watch
        // Do stuff
    }
}
like image 3
Accid Bright Avatar answered Nov 20 '22 13:11

Accid Bright