2011-11-02 19 views
13

applyChange:forEntityName:remappedRecordIdentifier:formattedRecord:error विधि के माध्यम से, सिंक सेवाओं से संशोधित संपर्क प्राप्त करते समय। पता पुस्तिका में आईडी 2C13E20E-6B24-4090-81FA-7A1E8B28119B के रूप में हैं, और भले ही इस प्रकार की कुछ आईडी ISyncChange * ऑब्जेक्ट में मौजूद हैं, वे वास्तविक संपर्क आईडी नहीं हैं जो पता पुस्तिका में पाई जा सकती हैं ...सिंक सेवा संपर्क आईडी से पता पुस्तिका संपर्क आईडी प्राप्त करने का कोई तरीका है?

है सिंक सेवाओं से पता लगाने का कोई तरीका पता पुस्तिका में एक निश्चित संपर्क आईडी क्या है?


पूछने के लिए कारण यह है कि जब में पता पुस्तिका संपर्कों के लिए बड़े चित्रों की बचत, समन्वयन सेवाओं अपने आंतरिक डेटा भंडारण में उन चित्रों को बचाने नहीं करता है। इसलिए, संपर्क जो एक बड़ी तस्वीर के साथ संशोधित या जोड़े गए हैं, तस्वीर के बिना सिंक सेवाओं द्वारा वापस लौटाए जाएंगे, मूल रूप से अपूर्ण जानकारी प्रदान करते हैं।

मैं पता पुस्तिका आईडी प्राप्त करने के लिए, ताकि मैं में ~/Library/Application Support/Address Book/Images/

धन्यवाद संपर्क की तस्वीर देख सकते हैं की जरूरत है!

उत्तर

1

~/लाइब्रेरी/एप्लिकेशन समर्थन/पता पुस्तिका/छवियों में किसी छवि से संबंधित पता पुस्तिका आईडी पर भरोसा करना एक बुरा विचार है - आप एक एपीआई ढूंढने से बेहतर होंगे जो आपको वह डेटा प्रदान करता है जो आप चाहते हैं साथ काम करें, क्योंकि आपको गारंटी नहीं है कि छवि वहां होगी, या बाद में (अपग्रेड के बाद, यह सब बदल सकता है!)।

अनुसंधान की एक छोटी राशि के बाद, ऐसा लगता है कि एपीआई आप चाहते हैं यहाँ प्रलेखित है: http://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AddressBook/Tasks/AccessingData.html#//apple_ref/doc/uid/20001023-103617

यह थोड़ा बोझल है क्योंकि आप हमेशा उनकी ABImageClient प्रोटोकॉल को समझते हैं और एक कॉलबैक प्रदान करने की आवश्यकता है, लेकिन मुझे नहीं पता लगता है कि यह बुरा है। यह दृष्टिकोण आप जो कर रहे थे उससे काफी बेहतर है - यह डेटा प्राप्त करने का ऐप्पल स्वीकृत तरीका है और आपको भविष्य में इसे तोड़ने की चिंता करने की आवश्यकता नहीं होगी।

+0

मुझे लगता है कि आप संपर्क के लिए छवि डेटा प्राप्त करने के लिए 'imageData' का उपयोग करना चाहते हैं। मैं उस संपर्क को कैसे प्राप्त करूं? मुझे किसी भी तरह अपना आईडी होना चाहिए। – Andrei

+0

हम्म, मैंने मूल रूप से इसे पढ़ते समय प्रश्न के उस हिस्से को पूरी तरह से याद किया। मैं ApplyChange: ForEntityName के लिए सिंक सेवा प्रलेखन पर पढ़ने की कोशिश कर रहा हूं: लेकिन चूंकि ऐप्पल ने शेर में उस एपीआई को बहिष्कृत करने का निर्णय लिया, इसलिए उन्होंने डेवलपर.एप.पी.पी. से सभी दस्तावेज हटा दिए। हो सकता है कि सिंक सेवाओं के बारे में कोई और जानबूझकर पता चलेगा कि एबी में संपर्क के लिए iSyncChange ऑब्जेक्ट आईडी को अंतर्निहित यूयूआईडी से कैसे प्राप्त किया जाए। – tjarratt

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