Apple Watch app detect if a apple watch is paired

2019-03-26 04:14发布

When the user opens the app on the phone is there a way to detect if the phone is paired/connected to a apple watch?

3条回答
孤傲高冷的网名
2楼-- · 2019-03-26 04:39

There is no built-in method (at least in the WatchKit SDK) to determine if a Watch has been paired with an iPhone. A common strategy is to write a BOOL to a shared NSUserDefaults (using app groups) so that the iPhone knows that the Watch app has been run at least once. That's the technique I've used in my own app.

查看更多
做个烂人
3楼-- · 2019-03-26 04:46

If your code in your extension runs willActivate: on you controller then the Apple Watch is paired with the phone. Since you can't run any code on the actual Apple Watch there is no to know if the watch isn't paired with an iPhone.

查看更多
Bombasti
4楼-- · 2019-03-26 04:50

So on 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.defaultSession()
        session.delegate = self
        session.activateSession() // activate the session

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

I hope It would help you :)

查看更多
登录 后发表回答