IOS ऐप से उपयोगकर्ता के वॉचओएस संस्करण का पता लगाएं


13

मेरे पास एक आईओएस ऐप है जहां मेरे पास वॉच से संबंधित आईओएस ऐप में कुछ सेटिंग्स हैं। मैं केवल उन्हें दिखाना चाहता हूं यदि उपयोगकर्ता के पास Apple वॉच है जो मेरे ऐप के साथ संगत है।

WatchConnectivity में मैं WCSession की isPaired प्रॉपर्टी को क्वेरी कर सकता हूं, यह देखने के लिए कि क्या यूजर के पास वॉच है, लेकिन मैं यह पता नहीं लगा सकता कि वॉचओएस वर्जन का निर्धारण कैसे किया जाए (इसे अपने ऐप का उपयोग करने के लिए> 5.0 होना चाहिए)।

क्या आईओएस ऐप से वॉचओएस संस्करण निर्धारित करने का कोई तरीका है?


मुझे नहीं लगता कि आप iOS से वॉचओएस संस्करण की जांच कर सकते हैं। हालाँकि, आप अपनी आवश्यकता की जानकारी प्राप्त करने के लिए iOS ऐप से वॉच ऐप के बीच संवाद कर सकते हैं।
लेई झांग

धन्यवाद, लेकिन मैं अभी भी एक ऐसे उपयोगकर्ता के बीच अंतर बताने में सक्षम नहीं हूं, जिसके पास watchOS 4 की घड़ी है और वॉच ऐप को एक उपयोगकर्ता बनाम watchOS 5 पर स्थापित नहीं कर सकता है, जो वॉच ऐप को स्थापित कर सकता है, लेकिन नहीं
स्टीफन


दिलचस्प विचार, दुर्भाग्य से घड़ी विशेष संभालती है, जहां यह मानक ब्लूटूथ विधियों के माध्यम से उपलब्ध नहीं है
स्टीफन

आप सिर्फ Deployment Target5.0 होने के लिए वॉचओएस को प्रतिबंधित क्यों नहीं करते हैं ?
स्टार्स्की

जवाबों:


0

वास्तव isWatchAppInstalledमें इस परिदृश्य से निपटने का सही तरीका है।

जैसा कि प्रलेखन में कहा गया है:

उपयोगकर्ता Apple वॉच पर केवल उपलब्ध ऐप्स का सबसेट स्थापित करने का विकल्प चुन सकता है। इस प्रॉपर्टी की वैल्यू तब सच होती है, जब मौजूदा iOS ऐप से जुड़ा वॉच ऐप यूजर के ऐप्पल वॉच पर इंस्टॉल हो जाता है या फिर इंस्टॉल नहीं होने पर झूठा हो जाता है।

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

प्रॉपर्टी बंडल के अंदर देखने के लिए नहीं दिखता है कि क्या वॉच ऐप उपलब्ध है। यह केवल तभी सही होगा जब वॉच ऐप वर्तमान में पेयर किए गए Apple वॉच पर इंस्टॉल हो। यदि उपयोगकर्ता वॉच ऐप को वॉच से हटाता है तो यह गलत हो जाएगा।


मैं यह बताने का तरीका ढूंढ रहा हूं कि क्या वे वॉच ऐप इंस्टॉल करने में सक्षम हैं या नहीं। मुझे यह देखने की ज़रूरत है कि क्या वॉचओएस संस्करण मेरे न्यूनतम के साथ संगत है
स्टीफन

WatchKit में, iOS और watchOS दोनों तरफ उपलब्ध WWKInterfaceDevice ऑब्जेक्ट है, जिसमें युग्मित घड़ी के बारे में जानकारी है।
जवादअली

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

क्या आपने कोशिश की है?
जावदली

1
WKInterfaceDevice को केवल iOS में देखा जा सकता है, iOS में नहीं, डॉक्स देखें ।
रीनहार्ड म्ननर

-1

यहां दो संभावित उपाय दिए गए हैं। नंबर 1 ओएस के लिए जाँच करता है जो अगर मैं आपके प्रश्न को समझता हूं जो आप पहले से जानते हैं, लेकिन फिर ओएस संस्करण के लिए 2 चेक जो कि वॉचओएस 5.0 और बाद में है। मैंने यही किया है, इसलिए मुझे उम्मीद है कि यह आपकी मदद करेगा।

1।

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

IOS ऐप में रनिंग के दौरान यह काम नहीं करता है, केवल जब पहले से ही इंस्टॉल किए गए वॉचओएस ऐप पर है
स्टीफन

आह, मैंने उसके बारे में नहीं सोचा। माफ़ करना। क्या होगा यदि आपने targetEnvironment की जाँच की, और फिर उपलब्ध OS संस्करण की जाँच करें? यदि targetEnvironment के पास watchOS लक्ष्य है।
117MasterChief96

निश्चित नहीं कि मैं अनुसरण करूं। आप कहाँ / कैसे लक्ष्यीकरण की जाँच कर रहे हैं?
स्टीफन

मैंने वास्तव में इससे पहले इसका उपयोग नहीं किया है लेकिन मैं कुछ ऐसा सोच रहा था #if targetEnvironment(watchOS)। अगर वह वॉचओएस के साथ भी संभव है, और उसके बाद आप वॉचओएस 5 के लिए संस्करण की जांच कर सकते हैं
117MasterChief96

क्षमा करें यह वास्तव में नहीं है जो मैं पूछ रहा हूं। #if targetEnvironment watchOS है, इसे घड़ी पर चलाना आवश्यक है। मैं
Stephen
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.