2016-09-28 26 views
12

मैकोज़ सिएरा (10.12) और एक्सकोड 8.0 (8 ए 218 ए) में अपग्रेड करने के बाद, मुझे अपने मैकोज़/कोको ऐप (उद्देश्य-सी में लिखे गए) में कई त्रुटि संदेश प्राप्त करने के बाद "गतिशील एक्सेसर्स विफल होने" के बारे में अज्ञात त्रुटि प्राप्त करना कि इस प्रारूप का पालन करें:मैकोज़

[error] warning: dynamic accessors failed to find @property implementation for 'uniqueId' for entity ABCDInfo while resolving selector 'uniqueId' on class 'ABCDInfo'. Did you remember to declare it @dynamic or @synthesized in the @implementation ? 

[error] warning: dynamic accessors failed to find @property implementation for 'uniqueId' for entity ABCDContact while resolving selector 'uniqueId' on class 'ABCDContact'. Did you remember to declare it @dynamic or @synthesized in the @implementation ? 

[error] warning: dynamic accessors failed to find @property implementation for 'uniqueId' for entity ABCDEmailAddress while resolving selector 'uniqueId' on class 'ABCDEmailAddress'. Did you remember to declare it @dynamic or @synthesized in the @implementation ? 

[error] warning: dynamic accessors failed to find @property implementation for 'address' for entity ABCDEmailAddress while resolving selector 'address' on class 'ABCDEmailAddress'. Did you remember to declare it @dynamic or @synthesized in the @implementation ? 
इस के

किसी ने भी मेरे कोड या है कि मैं का उपयोग कर रहा है, और उन चर नाम पर खोज करने के 3 पार्टी डेवलपर पुस्तकालयों से कोड है (यानी: 'uniqueId' या 'ABCDInfo') कुछ भी नहीं खींचता है, यह दर्शाता है कि यह मेरी परियोजना में नहीं है।

मैंने देखा कि इस मुद्दे को भी दो बार पर एप्पल के डेवलपर फ़ोरम सूचना मिली थी (Issue 1 और Issue 2), लेकिन दोनों सवालों अनुत्तरित

मेरा प्रश्न है रहते हैं: क्या ये त्रुटि संदेश का कारण बनता है और मैं उन्हें कैसे ठीक कर सकते हैं? यह मेरे ऐप को क्रैश करने का कारण नहीं बनता है, लेकिन मैं समझता हूं और समझता हूं कि क्या गलत है।

+0

मुझे एक ही समस्या है, लेकिन मुझे एक उत्तर स्विफ्ट की तलाश है। धन्यवाद। – iphaaw

उत्तर

8

सभी चलो सबसे पहले साथ बनाया गया है क्या @synthesize की जाँच करें और @dynamic हैं:

  • @synthesize के लिए मनुष्य और सेटर तरीके उत्पन्न होगा अपनी संपत्ति
  • @dynamic संकलक कि मनुष्य और सेटर तरीके ( सुपर क्लास की तरह या रनटाइम पर उपलब्ध कराया जाएगा) कहीं और वर्ग अपने आप में नहीं लागू किया जाता है, लेकिन बताता

संपर्कों के लिए अब आवश्यक है कि मेल/संपर्क ढांचे का उपयोग करने वाले किसी भी व्यक्ति को उपयोग-संपर्क एंटाइटेलमेंट के साथ कोड किया जाना चाहिए।

आपको "संपर्क पहुंच" एंटाइटेलमेंट प्रदान करके अपने ऐप को सैंडबॉक्स करना होगा। चेतावनियां अभी भी लॉग इन होंगी, लेकिन यह एक्सकोड 8 की एक और बग से जुड़ा हुआ है जो इतनी सारी चीजों को बेकार ढंग से लॉग करता है।

ऐसा लगता है कि ऐप्पल संपर्क (या स्थान या कैलेंडर) तक पहुंचने के लिए गैर सैंडबॉक्स किए गए ऐप को स्वीकार नहीं करेगा।

अपने ऐप को सैंडबॉक्स करने के लिए निम्न कार्य करें: अपनी प्रोजेक्ट सेटिंग्स पर जाएं> अपना ऐप चुनें> ऐप सैंडबॉक्स सक्षम करें और उसके बाद आप जिस ऐप डेटा का उपयोग कर रहे हैं उसका चयन करें।

+0

यदि आप ऐप स्टोर के माध्यम से ऐप वितरित करने की योजना नहीं बना रहे हैं क्योंकि आपको बंद होने के लिए सैंडबॉक्स की आवश्यकता है, तो आप अभी भी संपर्क एंटाइटेलमेंट सक्षम कर सकते हैं, और फिर मैन्युअल रूप से सैंडबॉक्स मान को प्लेस्ट में NO पर वापस लाएं। – cdf1982

1

हो सकता है कि इस विन्यास से संबंधित:

  • आप AddressBook ढांचे तक पहुँच रहे हैं, शायद 'निहित संश्लेषित गुण' पर के साथ बनाया गया।
  • आप सॉफ्टवेयर 'निहित संश्लेषित गुण' बंद
+2

मैं एड्रेसबुक ढांचे में "अंतर्निहित संश्लेषित गुण" कैसे बंद करूं? –

+0

@ रयान डीसोजा आप नहीं कर सकते, क्योंकि यह पहले ही संकलित है। आपको इस विकल्प को चालू करना होगा। – Sirens

+0

मैंने कोशिश की, अभी भी त्रुटि संदेशों को लॉग किया गया है (जबकि कार्यक्षमता ठीक काम करती है) – cdf1982