Existe-t-il un moyen d'avertir l'utilisateur dans Apple Watch que l'iPhone est maintenant hors de portée et qu'il revient à portée de main? Comment pouvons-nous le faire en extension de montre.
Merci d'avance.
Donc sur WatchOS 2, c'est possible!
Vous devez faire côté iPhone:
Premier :
import WatchConnectivity
Ensuite :
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 cela vous aiderait :)
Avec watchOS 2.0, vous pouvez. Pour ce faire, ajoutez-les à votre ExtensionDelegate si vous souhaitez 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 devez également ajouter WCSessionDelegate à votre ExtensionDelegate.
D'un point de vue formel, Apple n'a donné aucune indication sur la manière dont cela sera traité.
Toutefois, compte tenu de la zone de couplage et de communication gérée par le système d'exploitation sans implication d'application, il semble à peu près certain que toute notification à l'utilisateur concernant des problèmes de connexion sur la montre (et sur le côté du téléphone) sera également traitée par le système d'exploitation Watch. J'imagine qu'un utilisateur aura la possibilité de résoudre le problème de la perte de connectivité ou de quitter l'application Watch s'il ne le peut pas. Du point de vue des développeurs, il est fort probable que nos applications ne seront pas en mesure de faire la distinction entre une perte de connectivité non résolue et l'utilisateur qui quitte une application normalement, la même notification étant envoyée à Watch Extension pour l'un ou l'autre, mais ce n'est qu'une supposition. .
Il convient de noter qu’aucun code de développeur tiers ne s'exécute sur la montre pour les applications Watch actuelles, il suffit d’une interface utilisateur; par conséquent, même une perte de connexion non résolue n’entraîne aucune perte de données. Si l’extension Watch (qui fonctionne sur l’iPhone) est abandonnée par le système d’exploitation en raison d’une perte de connexion à la montre, il sera toujours en mesure de procéder au stockage et au nettoyage habituels des données.
Du point de vue actuel, cela ne sera probablement pas possible.
De Apple Architecture de l'application WatchKit
Après avoir choisi la scène, WatchKit demande à l'iPhone couplé de lancer votre extension WatchKit et créez les objets nécessaires pour gérer cela scène. Une fois la scène entièrement configurée, elle s’affiche sur Apple Regarder. Le transfert d'informations entre l'application WatchKit et L'extension WatchKit est transparente dans 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.