Mendeteksi versi watchOS pengguna dari aplikasi iOS


13

Saya memiliki aplikasi iOS di mana saya memiliki beberapa pengaturan di aplikasi iOS yang terkait dengan arloji. Saya hanya ingin menunjukkan kepada mereka jika pengguna memiliki Apple Watch yang kompatibel dengan aplikasi saya.

Di WatchConnectivity saya dapat meminta properti isPaired WCSession untuk melihat apakah pengguna memiliki arloji tetapi saya tidak tahu cara menentukan versi watchOS (perlu> 5.0 untuk menggunakan aplikasi saya).

Apakah ada cara untuk menentukan versi watchOS dari aplikasi iOS?


Saya tidak berpikir Anda dapat memeriksa versi watchOS dari iOS. Namun, Anda dapat berkomunikasi antara aplikasi tontonan dari aplikasi iOS untuk mendapatkan informasi yang Anda butuhkan.
Lei Zhang

Terima kasih, tetapi saya masih belum dapat membedakan antara pengguna yang memiliki arloji di watchOS 4 dan tidak dapat menginstal aplikasi arloji vs pengguna di watchOS 5 yang dapat menginstal aplikasi arloji tetapi belum
Stephen

@Stephen coba dapatkan dari info bluetooth yang Anda minati Link1 Link2
George

ide yang menarik, sayangnya arloji ini tampaknya memiliki penanganan khusus di mana itu tidak tersedia melalui metode bluetooth standar
Stephen

Mengapa Anda tidak membatasi watchOS Deployment Targetmenjadi 5.0?
Starsky

Jawaban:


0

Sebenarnya isWatchAppInstalledadalah cara yang tepat untuk menghadapi skenario ini.

Seperti yang dinyatakan dalam dokumentasi:

Pengguna dapat memilih untuk menginstal hanya sebagian dari aplikasi yang tersedia di Apple Watch. Nilai properti ini benar ketika aplikasi Tonton yang terkait dengan aplikasi iOS saat ini diinstal pada Apple Watch pengguna atau palsu ketika tidak diinstal.

https://developer.apple.com/documentation/watchconnectivity/wcsession/1615623-iswatchappinstalled

Properti tidak melihat ke dalam bungkusan untuk melihat apakah aplikasi Tonton tersedia. Ini hanya akan mengembalikan true jika aplikasi Watch diinstal pada Apple Watch yang saat ini dipasangkan. Jika pengguna menghapus Aplikasi Arloji dari arloji itu akan kembali palsu.


Saya mencari cara untuk mengetahui apakah mereka dapat menginstal aplikasi arloji jika tidak diinstal. Saya perlu membedakan apakah versi watchOS kompatibel dengan minimum saya
Stephen

Di WatchKit, ada objek WKInterfaceDevice, tersedia di sisi iOS dan watchOS, yang berisi informasi tentang jam tangan yang dipasangkan.
jawadAli

let watchOSVersion = WKInterfaceDevice.currentDevice().systemVersion print("WatchOS version: \(watchOSVersion)")
jawadAli

Sudahkah Anda mencobanya?
jawadAli

1
WKInterfaceDevice hanya dapat dipanggil di watchOS, bukan di iOS, lihat dokumen .
Reinhard Männer

-1

Berikut adalah dua solusi yang mungkin. Nomor 1 memeriksa OS yang jika saya mengerti pertanyaan Anda, Anda sudah tahu, tetapi 2 memeriksa versi OS yaitu WatchOS 5.0 dan yang lebih baru. Ini yang saya lakukan jadi saya harap ini membantu Anda.

1.

#if os(watchOS)
    ...your code          
#endif
  1. if #available(watchOS 5.0, *) {
        ...your code
    }

Ini tidak berfungsi ketika berjalan di aplikasi iOS, hanya ketika sudah ada di aplikasi watchOS yang terpasang
Stephen

Ahh, aku tidak memikirkan itu. Maaf. Bagaimana jika Anda memeriksa targetEnvironment, dan kemudian memeriksa versi OS yang tersedia? Jika targetEnvironment memiliki target watchOS.
117MasterChief96

Tidak yakin saya ikuti. Di mana / bagaimana Anda memeriksa targetEnvironment?
Stephen

Saya belum pernah menggunakan ini sebelumnya, tetapi saya berpikir seperti itu #if targetEnvironment(watchOS). Jika itu bahkan mungkin dengan watchOS, dan kemudian di dalamnya Anda dapat memeriksa versi untuk watchOS 5.
117MasterChief96

Maaf ini bukan yang sebenarnya saya minta. #Jika targetEnvironment adalah watchOS, itu harus dijalankan pada jam tangan. Saya mencari cek dari iOS
Stephen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.