J'ai une application iOS où j'ai certains paramètres dans l'application iOS liés à la montre. Je souhaite les afficher uniquement si l'utilisateur dispose d'une Apple Watch compatible avec mon application.
Dans WatchConnectivity, je peux interroger la propriété isPaired de WCSession pour voir si l'utilisateur a une montre mais je ne peux pas comprendre comment déterminer la version watchOS (elle doit être> 5.0 pour utiliser mon application).
Existe-t-il un moyen de déterminer la version watchOS à partir de l'application iOS?
ios
swift
apple-watch
watchos
Stephen
la source
la source
Deployment Target
à 5.0?Réponses:
En fait,
isWatchAppInstalled
c'est la bonne façon de gérer ce scénario.Comme l'indique la documentation:
https://developer.apple.com/documentation/watchconnectivity/wcsession/1615623-iswatchappinstalled
La propriété ne regarde pas à l'intérieur du bundle pour voir si une application Watch est disponible. Cela ne reviendra vrai que si l'application Watch est installée sur l'Apple Watch actuellement couplée. Si l'utilisateur supprime l'application Watch de la montre, elle retournera false.
la source
let watchOSVersion = WKInterfaceDevice.currentDevice().systemVersion print("WatchOS version: \(watchOSVersion)")
Voici deux solutions possibles. Le numéro 1 vérifie le système d'exploitation qui, si je comprends votre question, vous le savez déjà, mais 2 vérifie la version du système d'exploitation qui est WatchOS 5.0 et versions ultérieures. C'est ce que j'ai fait et j'espère que cela vous aidera.
1.
la source
#if targetEnvironment(watchOS)
. Si cela est même possible avec watchOS, puis à l'intérieur de cela, vous pouvez vérifier la version de watchOS 5.