/ / कोकोपोड्स फ्रेमवर्क में स्विफ्ट एक्सटेंशन, अज्ञात चयनकर्ता को क्लास-ऑब्जेक्ट-सी, स्विफ्ट, कोकोपोड्स, आईओएस-फ्रेमवर्क, स्विफ्ट-एक्सटेंशन को भेजा गया है

कोकोपोड्स फ्रेमवर्क में स्विफ्ट एक्सटेंशन, अज्ञात चयनकर्ता को क्लास-ऑब्जेक्ट-सी, स्विफ्ट, कोकोपोड्स, आईओएस-फ्रेमवर्क, स्विफ्ट-एक्सटेंशन को भेजा गया है

मेरे पास एक स्विफ्ट फ्रेमवर्क है जिसे कोकोपोड्स के माध्यम से प्रबंधित किया जाता है और इसमें एक एक्सटेंशन होता है:

public extension UIImage {
public static func maskedImageWithColor( color: UIColor, forImageNamed image: UIImage) {
// Implementation
}
}

जब मैं इसे अपने मुख्य अनुप्रयोग में उद्देश्य सी में लिखता हूं तो मुझे कोई कंपाइलर त्रुटियां या चेतावनियां नहीं मिलतीं।

// No problems here!
[UIImage maskedImageWithColor:UIColor.blackColor() forImageNamed:@"myImage"];

जब मैं ऐप चलाता हूं, हालांकि, यह "अपरिचित चयनकर्ता" त्रुटियों की गड़बड़ी में विस्फोट करता है।

अजीब चीज है, जब ढांचे में निहित है अंदर प्रोजेक्ट और बिल्ड चरणों के प्रासंगिक हिस्सों में सीधे जोड़ा गया (यानी कोकोपोड्स द्वारा प्रबंधित नहीं किया गया), यह सभी अपेक्षित काम करता है।

फ्रेमवर्क-कक्षाओं, enums, आदि के अन्य पहलुओं- सभी ठीक काम भी करते हैं, यह सिर्फ एक्सटेंशन और प्रतीत होता है जब वे "कोकोपोड्स द्वारा प्रबंधित एक ढांचे में हैं।

मैं यहां क्या खो सकता हूं पर कोई विचार?

उत्तर:

जवाब के लिए 0 № 1

ऐसा इसलिए है क्योंकि लिंकर श्रेणी विधियों को डिफ़ॉल्ट रूप से स्थैतिक लाइब्रेरी रूप से लोड नहीं कर रहा है। यदि आप स्थैतिक पुस्तकालय के साथ श्रेणी विधियों (तेजी से विस्तार) जोड़ रहे हैं, तो जोड़ें -ObjC अपने लक्ष्य में अन्य लिंकर झंडे के लिए सेटिंग्स का निर्माण।

और पढो यहाँ