Check if iPhone is paired with apple watch?

后端 未结 3 2039
一生所求
一生所求 2020-12-29 07:49

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

相关标签:
3条回答
  • 2020-12-29 08:01

    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 :)

    0 讨论(0)
  • 2020-12-29 08:10

    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
        }
    }
    
    0 讨论(0)
  • 2020-12-29 08:20

    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.

    0 讨论(0)
提交回复
热议问题