2015-01-30 3 views
8

मैं इस तरह नमूना जोड़ें:स्वास्थ्य App में जोड़ा नमूना हटाएं

var store:HKHealthStore? 
date = NSDate() 
let type = HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDietaryVitaminA) 
quantity = HKQuantity(unit: HKUnit.gramUnitWithMetricPrefix(.Micro), doubleValue: 100) 
let sample = HKQuantitySample(type: type, quantity: quantity, startDate: date, endDate: date) 
store.saveObject(sample, withCompletion: { (success, error) -> Void in 
      if(error != nil) { 
       println("Error saving sample: \(error.localizedDescription)") 
      }else{ 
       println("Sample saved successfully!") 
      } 
     }) 

और मैं निष्पादित जब मैं इस नमूने को हटाना चाहते हैं:

store.deleteObject(sample, withCompletion: {(success, error) -> Void in 
    if(error != nil) { 
     println("Error deleting sample: \(error.localizedDescription)") 
    }else{ 
     println("Sample deleted successfully!") 
    } 
}) 

और यह मुझे देता है: त्रुटि नमूना को हटाने: वस्तु नहीं मिला जब भी मैं startDate और endDate के लिए उसी 'दिनांक' का उपयोग करता हूं। मैं let sample = HKQuantitySample(type: type, quantity: quantity, startDate: date, endDate: date, metadata: metadata) साथ tryed गया है जहां मेटाडाटा let metadata = [HKMetadataKeyExternalUUID:"\(Int64(date.timeIntervalSince1970))"] है, लेकिन यह भी असफल ...

उत्तर

2

संभव नहीं जो ApplicationB में applicationâ द्वारा दर्ज किया गया है स्वास्थ्य डेटा, एप्पल के स्वास्थ्य एप्लिकेशन के अलावा अन्य हटाना है।

ऐप्पल के दस्तावेज के अनुसार, केवल संबंधित एप्लिकेशन द्वारा बनाए गए स्वास्थ्य डेटा को हटाना संभव है। हालांकि, उपयोगकर्ता को लिखित अनुमति दी गई है, लेकिन आपके आवेदन से कुछ अन्य एप्लिकेशन स्वास्थ्य डेटा को हटाना संभव नहीं है, लेकिन यह केवल ऐप्पल के स्वास्थ्य एप्लिकेशन से संभव है।

the documentation से:

नोट

हालांकि आपका ऐप्लिकेशन केवल वस्तुओं यह बनाया गया और सहेज प्रबंधन कर सकते हैं, उपयोगकर्ताओं को किसी भी डेटा वे स्वास्थ्य एप्लिकेशन का उपयोग करके चाहते हैं हटा सकते हैं।

1

मुझे वास्तव में इस सटीक समस्या के साथ ऐप्पल से कुछ मदद मिली है, लेकिन मैंने अभी तक इसे हल नहीं किया है। आप इसे ठीक उसी तरह कोडिंग कर रहे हैं, लेकिन उन्होंने मुझे बताया कि समस्या यह है कि हम एक नया नमूना बना रहे हैं और फिर इसे तुरंत हटाने की कोशिश कर रहे हैं। नमूना अभी तक मौजूद नहीं है, इसलिए यह एक आइटम को त्रुटि नहीं मिला है।

क्या करने की आवश्यकता है (सिद्धांत में) एक HKSampleQuery चलाने के लिए है और उसके बाद हटाए गए ऑब्जेक्ट के साथ हटाएं। यह ऑब्जेक्ट हेल्थकिट में पहले से मौजूद है और हटाया जा सकता है।

आशा है कि मदद करता है!

संपादित करें: इसे हल किया गया ... मैंने पाया कि मेरी तिथि/समय टिकट सख्त था। मैंने एमएम/डीडी/वाईवाईवाई प्रारूप को वापस करने के लिए अपना स्टार्टडेट/एंडडेट संशोधित किया और नमूने ठीक से हटा दिए गए। उम्मीद है कि आपकी मदद करता है!

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