2012-11-30 9 views
7

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

मैं एक्सकोड 4.5 का उपयोग कर रहा हूं और मैं आईओएस 5.1 और ऊपर और आईओएस सिम्युलेटर 5.1 और ऊपर लक्षित करना चाहता हूं।

मेरे पास यहां एक लाइब्रेरी प्रोजेक्ट है और यह "डेमोलिब" नामक प्रीबिल्ट बाइनरी के साथ आ रहा है (कोई विस्तार नहीं है और यह आकार में 11 एमबी है)। लाइब्रेरी सिम्युलेटर और आईओएस 5.1+ के लिए एक मोटी lib है। मैं बिना किसी समस्या के उस लाइब्रेरी का उपयोग कर सकता हूं। हालांकि अगर मैं खुद लाइब्रेरी बनाने की कोशिश करता हूं, तो मैं "डेमोलिब.ए" फ़ाइल के साथ समाप्त होता हूं (विस्तार और 30 एमबी का आकार)। मैं एक ही निर्माण परिणाम कैसे प्राप्त कर सकता हूं? विस्तार के बिना फ़ाइल की तुलना में .a फ़ाइल क्या है? मैंने एक्सकोड में "चलने के लिए" प्रोजेक्ट बनाने और "संग्रह के लिए" प्रोजेक्ट बनाने का प्रयास किया। दोनों ही परिणाम 30 एमबी। ए फ़ाइल में हैं। मुझे एक्सकोड में कुछ ड्रॉपडाउन की उम्मीद थी जहां कोई "डेबग" या "रिलीज" बिल्ड का चयन कर सकता था और बाद वाला एक छोटा lib बना देगा।

+0

यह अच्छा होगा अगर मोनो टच उपयोगकर्ता के परिप्रेक्ष्य से इसे कैसे किया जाए, तो यह अच्छा होगा। – jonathanpeppers

+0

मुझे मोनो टच के बारे में कुछ भी पता नहीं है, लेकिन मैंने एक्सकोड के नए उपयोगकर्ता के समान समस्या के माध्यम से काम किया है। ऐसा लगता है कि आप निर्माण में बाइनरी को शामिल किए बिना संकलन समय पर एक स्थिर लिंक बनाना चाहते हैं। कृपया इंगित करें कि उत्तर के बाद से आप किस एक्सकोड का उपयोग कर रहे हैं। –

+0

@ जोनाथनपेपर्स हाँ, यह होगा। एक्सकोड फ्रीक्स के लिए यह प्रमुख दर्द से गुजरना प्रतीत होता है, इस परियोजना को यहां देखें: https://github.com/jverkoey/iOS- फ्रेमवर्क - किसी के लिए एक्सकोड में उपयोग नहीं किया जाता है, यह समझना लगभग असंभव प्रतीत होता है कि यह क्यों इतना मुश्किल है। – Krumelur

उत्तर

0

क्या यह मेकफ़ाइल के साथ आया था? नया लक्ष्य बनाएं, लक्ष्य की बिल्ड सेटिंग्स को मेकफ़ाइल में क्या सेट करें, फिर उस प्रोजेक्ट को उस नए लक्ष्य पर निर्भर करने के लिए सेट करें।

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

आपकी योजना में क्या निर्माण करना है इसके लिए ड्रॉपडाउन। अपनी योजना देखने के लिए कमांड + शिफ्ट + <। इस योजना के भीतर आप संपादित कर सकते हैं कि निर्माण के प्रत्येक तरीके का कौन सा वातावरण उपयोग करेगा।

3

बेशक मैं फ्रेमवर्क की प्रोजेक्ट फ़ाइल को देखे बिना कभी नहीं बता सकता था। होने कहा बनाने और यहां आईओएस चौखटे संकलन के लिए एक उत्कृष्ट गाइड है कि, वहाँ: https://github.com/jverkoey/iOS-Framework

ऊपर गाइड का उपयोग करके आप शुरू से अपना ढांचा की परियोजना बनाने में समर्थ होना चाहिए कि आप इसे करने के लिए है फ़ाइलें जोड़ते हैं, और ठीक से संकलन यह।

आशा है कि इससे मदद मिलती है! :)

+0

वह गाइड बहुत उपयोगी था, धन्यवाद! –

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

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