Comment vérifier si iPhone et apple watch sont connectés
y a-t-il un moyen de prévenir L'utilisateur dans Apple Watch que l'iPhone est maintenant hors de portée et quand il revient dans la portée. Comment Pouvons-nous le faire dans watch extension.
Merci d'avance.
5 réponses
donc sur WatchOS 2 c'est possible !
Vous avez à faire sur iPhone :
le Premier :
import WatchConnectivity
Puis :
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
}
}
j'espère que Ça vous aidera :)
avec watchOS 2.0 vous pouvez. Pour ce faire, vous les ajouteriez à votre ExtensionDelegate si vous vouliez que votre Apple Watch reçoive une notification:
func watchKitSetup() {
if (WCSession.isSupported()) {
let session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
// In your WatchKit extension, the value of this property is true when the paired iPhone is reachable via Bluetooth.
// On iOS, the value is true when the paired Apple Watch is reachable via Bluetooth and the associated Watch app is running in the foreground.
// In all other cases, the value is false.
if session.reachable {
}
}
}
func applicationDidFinishLaunching () {
self.watchKitSetup()
}
// Called when session.reachable value changes, such as when a user wearing an Apple Watch gets out of range of their iPhone.
func sessionReachabilityDidChange(session: WCSession) {
if session.reachable {
}
}
Vous devriez également ajouter WCSessionDelegate à votre extension Delegate.
D'un point de vue formel, Apple n'a donné aucune indication sur la façon dont cela sera traité.
Cependant, compte tenu de la zone d'appariement et de communication gérée par L'OS sans intervention de l'application, il semble presque certain que toute notification à l'utilisateur concernant les problèmes de connexion sur la montre (et à la fin du téléphone) sera traitée par L'OS Watch aussi. Mon hypothèse serait qu'un utilisateur aura une occasion de résoudre la perte de connectivité, ou de quitter L'application Watch s'ils ne le peuvent pas. Du point de vue du développeur, il est très probable que nos applications ne seront pas en mesure de faire la distinction entre une perte de connectivité non résolue et le fait que l'utilisateur quitte une application normalement, avec la même notification envoyée à L'Extension Watch pour l'une ou l'autre, mais ce n'est qu'une supposition.
il est à noter qu'il n'y a pas de code de développeur tiers en cours d'exécution sur la montre pour les applications Watch actuelles, juste une interface utilisateur, donc même une perte de connexion non résolue n'entraînera pas de données perte. Si L'Extension Watch (qui tourne sur l'iPhone) est stoppée par le système d'exploitation en raison de la perte de connexion à la montre, il sera toujours en mesure de faire son stockage de données habituel et le nettoyage.
du point de vue des connaissances actuelles, cela ne sera probablement pas possible.
From Apple WatchKit App Architecture
après avoir choisi la scène, WatchKit dit à l'iPhone jumelé de lancer votre extension WatchKit et créer les objets nécessaires pour gérer cela scène. Lorsque la scène est entièrement configurée, elle s'affiche sur Apple Regarder. Le transfert d'informations entre L'application WatchKit et L'extension WatchKit se produit de manière transparente derrière les coulisses.
cela signifie Que le code est exécuté sur l'iPhone. Si l'iPhone est hors de portée, il ne sera pas possible d'exécuter l'application sur la montre.
vous pouvez trouver toutes les notifications de changement d'état de connectivité dans le wcsession documentation.