2015-07-29 8 views
13

मुझे लगता है कि मुझे पहले से ही इस प्रश्न का उत्तर पता है, लेकिन मैं सिर्फ पूरी तरह से पूछना चाहता था।watchOS 2: पृष्ठभूमि में हप्पी प्रतिक्रिया

ऐप्पल वॉच अंतर्निहित मानचित्र ऐप पर विचार करें। जब आप बारी-बारी-बारी दिशाओं का उपयोग कर रहे हैं, जब बाएं या दाएं मुड़ने का समय होता है, तो घड़ी एक कस्टम हैप्टीक पैटर्न बजाती है - भले ही स्क्रीन बंद हो और ऐप पृष्ठभूमि हो। एक और उदाहरण यह है कि आप कसरत कर रहे हैं - यदि आपने कोई लक्ष्य निर्धारित किया है, तो आपको अपनी कलाई पर एक हल्का टैप मिलेगा जब आपको वहां 50% और 100% मिलेगा, भले ही आप घड़ी को नहीं देख रहे हों उस समय (स्क्रीन बंद, ऐप पृष्ठभूमि)।

watchOS 2 में, वहाँ 3 पार्टी डेवलपर्स हमारे लिए किसी भी तरह से कोई एप्लिकेशन एक निश्चित हैप्टिक पैटर्न खेलने स्क्रीन के बंद होने के लिए है और एप्लिकेशन backgrounded है? मुझे पता है कि playHaptic: विधि कार्य करता है जबकि ऐप आपको कई अलग-अलग प्रकार के हैप्टीक पैटर्न खेलने के लिए सक्रिय है, और मुझे पता है कि ऐप निष्क्रिय है, लेकिन आपको एक अधिसूचना मिल सकती है - लेकिन अधिसूचना केवल 'अधिसूचना' 'हप्पी भावना, उसमें कोई विकल्प नहीं है।

+0

क्या इसे अभी तक ऐप्पल द्वारा संबोधित किया गया है? मेरा ऐप @ChronicTimer इससे बहुत फायदा होगा। मेरे पास कसरत सत्र है लेकिन अभी भी यह कार्यक्षमता प्रदान नहीं कर सकता है। –

+0

नहीं, और मुझे संदेह है कि अगले साल मईबीई डब्ल्यूडब्ल्यूडीसी 2016 तक कुछ भी बदल जाएगा। ऐप्पल नई एपीआई की पेशकश करने की आदत में नहीं है, सिवाय इसके कि नवीनतम प्रमुख ओएस संस्करण अभी भी बीटा में है (आमतौर पर जून और सितंबर के बीच)। – UberJason

उत्तर

2

जब आप ऐप सक्रिय होते हैं तो आप केवल कस्टम कोड चला सकते हैं। तो मुझे डर है कि आप ऐसा नहीं कर सकते हैं।

+0

यही मैंने सोचा, धन्यवाद। हेल्थकिट सामान दिलचस्प है, हालांकि, मुझे यह नहीं पता था ... हम एक आंतरिक कंपनी ऐप (कोई ऐप स्टोर) के बारे में सोच रहे हैं, इसलिए हम शायद कसरत ऐप बनने का नाटक कर सकते हैं और हृदय गति डेटा को छोड़ सकते हैं। क्या आप जानते हैं कि हृदय गति डेटा कितनी बार आता है? क्या कोई अन्य ढांचायां हैं जहां आप आवधिक कॉलबैक और कोड चलाने का मौका प्राप्त कर सकते हैं? – UberJason

+0

आपको लगभग हार्ट्रेट नमूने मिलेंगे। प्रत्येक 3-5 सेकंड। कोई अन्य रूपरेखा नहीं है क्योंकि मुझे एटीएम के बारे में पता है .. – Philip

+0

क्या आप HKWorkoutSessionDelegate workout सत्र देख रहे हैं: didChangeToState: fromState :?दस्तावेज कहता है, "यदि आपका आवेदन निलंबित कर दिया गया है, तो प्रतिनिधि को आवेदन शुरू होने के बाद इस कॉल को प्राप्त होता है। इसका मतलब है कि राज्य बदलने के बाद आपको अधिसूचना प्राप्त हो सकती है। यह निर्धारित करने के लिए दिनांक पैरामीटर जांचें कि वास्तव में राज्य परिवर्तन कब हुआ।" https://developer.apple.com/library/prerelease/watchos/documentation/HealthKit/Reference/HKWorkoutSessionDelegate_ProtocolReference/index.html#//apple_ref/occ/intfm/HKWorkout सत्र डेलीगेट/वर्कआउट सत्र :डिड चेंजटेस्टेट: फ्रॉमस्टेट: दिनांक: – UberJason

1

यहाँ है मैं कैसे पृष्ठभूमि में हैप्टिक, तुम सब WatchExtensionand सक्षम करने के लिए के लिए क्षमताओं में पृष्ठभूमि आधुनिक सक्षम करने की आवश्यकता के पहले खेल रहा हूँ: कसरत प्रसंस्करण और ऑडियो, एयरप्ले। इसके अलावा आपको WatchExtension HealthKit के लिए सक्षम करने की आवश्यकता है।

#import < HealthKit/HealthKit.h> HKWorkoutSessionDelegate

-(void)awakeWithContext:(id)context{ 

[super awakeWithContext:context]; 
HKHealthStore *cwHealthStore = [[HKHealthStore alloc] init]; 
cwConfiguration = [[HKWorkoutConfiguration alloc] init]; 
cwConfiguration.activityType = HKWorkoutActivityTypeOther; 
NSError *error; 
HKWorkoutSession *cwSession = [[HKWorkoutSession alloc] initWithConfiguration:cwConfiguration error:&error]; 
[cwSession setDelegate:self]; 
if (!error) { 
    [cwHealthStore startWorkoutSession:cwSession]; 
} 
    [self test]; 
} 


#pragma mark WorkoutSession Delegates 

- (void)workoutSession:(HKWorkoutSession *)workoutSession 
    didChangeToState:(HKWorkoutSessionState)toState 
     fromState:(HKWorkoutSessionState)fromState 
       date:(NSDate *)date{ 
NSLog(@"------>%ld", (long)toState); 
} 

- (void)workoutSession:(HKWorkoutSession *)workoutSession didFailWithError:(NSError *)error{ 
NSLog(@"%@", error); 
} 

जोड़ने और अब आप पृष्ठभूमि में हैप्टिक खेल सकते हैं।

-(void)test{ 
    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerTrick:) userInfo:nil repeats:true]; 


} 

- (void)timerTrick:(NSTimer *)time { 

     [[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeStart]; 

} 

छोड़ने नियंत्रक के बाद कसरत सत्र को रोकने के लिए forghet नहीं है:

 [cwHealthStore endWorkoutSession:cwSession]; 
0

बस कुछ साल बाद अपने ही सवाल के लिए एक अद्यतन पोस्ट करने के लिए - watchOS 3 कसरत क्षुधा में पृष्ठभूमि निष्पादन दिए गए, लेकिन कोई haptics (मुझे लगता है)।

घड़ी 4 में, कसरत ऐप्स, ऑडियो रिकॉर्डिंग ऐप्स और नेविगेशन ऐप्स में पृष्ठभूमि निष्पादन होता है; नेविगेशन ऐप्स पृष्ठभूमि में haptics भेज सकते हैं। इसके अलावा, "फ्रंट एप" (ऐप आखिरी बार उपयोग किया जाता है जो कलाई 2 मिनट के भीतर उठाया जाता है, या 8 अगर विस्तारित फ्रंट टाइम सक्षम है) को वॉच कनेक्टिविटी या एनएसआरएलएसशन डेटा ट्रांसफर के समापन पर हप्पीक्स भेजने के लिए कुछ विशेषाधिकार हैं, या जब एक अधिसूचना आती है। विवरण के लिए दस्तावेज़ देखें।

संबंधित मुद्दे