ios XCode 6 के साथ आईओएस फ़्रेमवर्क कैसे तैयार करें I



ios8 frameworks (1)

मुझे इस पर परिचित ट्यूटोरियल्स के बारे में पता है, लेकिन फ्रेमवर्क एक्सकोड 6 टेम्पलेट का परिचय गेम बदल चुका है।

मैंने पहले से ही आधुनिक ढांचे के निर्माण के बारे में WWDC 2014 वीडियो देखा था लेकिन यह एकल परियोजना के अंदर एक्सटेंशन, फ्रेमवर्क और ऐप के निर्माण के बारे में अधिक बात करता है। यह निर्दिष्ट नहीं करता है कि यदि मैंने इसके साथ ढांचे को बनाया है तो यह वास्तव में किसी भी प्रोजेक्ट में पुन: प्रयोज्य है।

मैं फ्रेमवर्क एक्सकोड 6 मार्ग (फाइल-> नई परियोजना-> फ्रेमवर्क और लाइब्रेरी-> कोको टच फ्रेमवर्क) का निर्माण कर रहा हूं, लेकिन जब मैं इसे अपने परीक्षण ऐप प्रोजेक्ट (फ़्रेमवर्क प्रोजेक्ट से अलग) के अंदर आयात करता हूं - मैं विभिन्न त्रुटियों को प्राप्त करता हूं।

उदाहरण: फ़्रेमवर्क के अंदर गैर-मॉड्यूलर हेडर शामिल करें, और इसी तरह।

मुझे पता है कि यह ऐसा नहीं है, और जो भी मैं कर रहा हूं उसमें कुछ लापता कदम हैं। पुरानी चालें हर किसी के लिए काम कर सकती हैं, लेकिन मुझे XCode 6 के बाद का पालन करने का कोई तरीका नहीं है I

उदाहरण के लिए, इसमें कुछ फ़ोल्डर संरचना है जो एक ढांचे की जरूरत है, लेकिन इसे बनाने के दौरान XCode 6 का अनुपालन नहीं करता है क्या यह सही है? यदि नहीं, तो मैं कैसे XCode फ्रेमवर्क फ़ोल्डर पदानुक्रम बनाता है जिस तरह से बदल सकते हैं?

क्या मैं वापस पुराने स्कूल में जाता हूं या क्या मैं XCode 6 में कुछ छोटी चीज़ों को पंगा लेना चाहता हूं कि मैं पुन: प्रयोज्य ढांचा बनाने में असमर्थ हूं?


मुझे यकीन नहीं है कि आप उद्देश्य-सी या स्विफ्ट के साथ एक ढांचा तैयार करने की कोशिश कर रहे हैं क्योंकि आपका सवाल यह नहीं बताता है। मुझे ऐसी त्रुटियों का सामना करना पड़ रहा है, जो आप स्विफ्ट के साथ उल्लेख कर रहे हैं, इसलिए मैं स्विफ्ट फ़्रेमवर्क बनाने के लिए आपको अपना तरीका बताऊंगा।

मुझे उद्देश्य-सी की प्रक्रिया बहुत सीधा और अच्छी तरह से प्रलेखित होने के लिए मिली, इसलिए मैं इसे छोड़ दूँगा।

स्विफ्ट के लिए, विचार करने के लिए कुछ चीजें हैं सबसे पहले, स्विफ्ट स्थिर लाइब्रेरी समर्थित नहीं हैं, इसलिए किसी ऐप को लाइब्रेरी से लिंक करते समय आपको विशेष रूप से ढांचा (उर्फ गतिशील लाइब्रेरी) का उपयोग करना चाहिए।

ये कदम हैं:

  1. आईओएस> फ्रेमवर्क और लाइब्रेरी के तहत नई> परियोजना का उपयोग करके फ्रेमवर्क बनाएं, कोको टच फ्रेमवर्क चुनें

  2. "एलडी: चेतावनी: से बचने के लिए विकल्प के लिए नहीं मिला निर्देशिका ..." अपने लक्ष्य के लिए गोटो पुस्तकालय खोज बिल्ड पथ और रास्तों को हटा दें।

  3. आप स्विफ्ट के साथ उद्देश्य-सी मिश्रण नहीं कर सकते हैं, इसलिए अपने कोड में स्विफ्ट हेडर पुल फ़ाइल को जोड़ने पर विचार नहीं करें।

  4. कुछ मामलों में तेजी से बढ़ रहे हैं, जहां आपको असंबद्ध फ्रेमवर्क से कोड आयात करना होगा। मैंने इन मामलों से निपटने के लिए फ़्रेमवर्क के अंदर मॉड्यूल-नक्शा को सफलतापूर्वक उपयोग किया है।

  5. मैं 'बिल्डवर्क सेटिंग्स में गैर-मॉड्यूलर हैडर के अंदर ढांचे के मॉड्यूल' को हल करने के लिए बिल्ड सेटिंग्स में CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES का भी चयन करें। ऐसा लगता है कि काम करने के लिए

  6. मुझे यकीन है कि जनरेट होने वाली हैडर फाइल को सार्वजनिक (परियोजना नहीं) के रूप में चिह्नित किया गया है। फ़ाइल पर क्लिक करें और आप 'लक्ष्य सदस्यता' के तहत निरीक्षक में चयन देखेंगे

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





xcode6