Mam aplikację na iOS, w której mam pewne ustawienia aplikacji na iOS związane z zegarkiem. Chcę je pokazać tylko wtedy, gdy użytkownik ma zegarek Apple Watch zgodny z moją aplikacją.
W WatchConnectivity mogę zapytać o właściwość isPaired WCSession, aby sprawdzić, czy użytkownik ma zegarek, ale nie mogę dowiedzieć się, jak określić wersję watchOS (aby korzystać z mojej aplikacji, musi być> 5.0).
Czy istnieje sposób na określenie wersji watchOS z aplikacji na iOS?
ios
swift
apple-watch
watchos
Stephen
źródło
źródło
Deployment Target
do wersji 5.0?Odpowiedzi:
Właściwie
isWatchAppInstalled
to właściwy sposób radzenia sobie z tym scenariuszem.Jak wynika z dokumentacji:
https://developer.apple.com/documentation/watchconnectivity/wcsession/1615623-iswatchappinstalled
Właściwość nie zagląda do pakietu, aby sprawdzić, czy aplikacja Watch jest dostępna. Zwróci wartość true tylko wtedy, gdy aplikacja Watch zostanie zainstalowana na aktualnie sparowanym zegarku Apple Watch. Jeśli użytkownik usunie aplikację Watch z zegarka, zwróci wartość false.
źródło
let watchOSVersion = WKInterfaceDevice.currentDevice().systemVersion print("WatchOS version: \(watchOSVersion)")
Oto dwa możliwe rozwiązania. Numer 1 sprawdza system operacyjny, który, jeśli rozumiem twoje pytanie, już znasz, ale następnie 2 sprawdza wersję systemu operacyjnego, czyli WatchOS 5.0 i nowsze. To właśnie zrobiłem, więc mam nadzieję, że ci to pomoże.
1.
źródło
#if targetEnvironment(watchOS)
. Jeśli jest to nawet możliwe w systemie watchOS, a następnie w środku można sprawdzić wersję dla systemu watchOS 5.