2016-01-17 7 views
6

Xcode 7 के रूप में, वहाँ कुछ पुस्तकालय/ढांचा परियोजना टैब में आवेदन Target को Xcode में विकल्प जोड़नेएक्सकोड में विकल्पों को जोड़ने वाले पुस्तकालय क्या हैं?

जाओ

General -> Embedded Binaries 
General -> Link Frameworks and Libraries 
Build Phases -> Target Dependencies 
Build Phases -> Link Binary with Libraries 

यहां ऐसे कुछ तरीके मैं

  • पाया Alamofire का उपयोग कर रहे हैं दिखाता है Embedded Binaries विकल्प

Alamofire.framework स्वचालित रूप से लक्षित निर्भरता, लिंक किए गए ढांचे और एम्बेडेड ढांचे के रूप में एक प्रतिलिपि बनाने के चरण में जोड़ा गया है जो आपको सिम्युलेटर और डिवाइस पर बनाने की आवश्यकता है।

  • Creating your first iOS Framework पता चलता है कि Build Phases -> Link Binary with Libraries

  • Carthage Tutorial: Getting Started कार्यक्षेत्र में Library.xcodeproj जोड़ने, तो पता चलता General -> Link Frameworks and Libraries में Library.framework खींच कि। ऐसा लगता है General -> Link Frameworks and Libraries और Build Phases -> Link Binary with Libraries ही

  • Carthage iOS और ओएस एक्स के बीच अंतर करने के

आप ओएस एक्स के लिए बना रहे हैं तो लगता है कर रहे हैं: पर अपने आवेदन लक्ष्य ' "सामान्य" सेटिंग्स टैब, "एम्बेडेड बाइनरीज़" अनुभाग में, डिस्क पर कार्थेज/बिल्ड फ़ोल्डर से उपयोग करने के लिए प्रत्येक ढांचे को खींचें और छोड़ें। "लिंक किए गए फ़्रेमवर्क और पुस्तकालय" खंड, खींचें में अपने आवेदन लक्ष्य ' "सामान्य" सेटिंग टैब पर, और प्रत्येक ढांचे आप से उपयोग करना चाहते हैं ड्रॉप:

आप आईओएस, tvOS, या watchOS के लिए निर्माण कर रहे हैं, तो डिस्क पर कार्थेज/बिल्ड फ़ोल्डर।

Linking to a Library or Framework पढ़ना, हम जानते हैं कि ये विकल्प हमारे आवेदन/ढांचे में ढांचे को जोड़ने के बारे में हैं।

लेकिन उनके बीच अंतर क्या हैं? क्या उनमें से सभी के लिए catch all कोई भी विकल्प है?

उत्तर

3

कार्थेज के साथ बनाया गतिशील चौखटे के लिए मैं आम तौर पर इस स्थापना का उपयोग करें:।

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

केवल ऐप लक्ष्य सभी ढांचे और उनकी निर्भरताओं को एम्बेड करने के लिए ज़िम्मेदार है। इस तरह यदि कोई एक्सटेंशन और ऐप दोनों ढांचे का उपयोग करते हैं, तो इसे केवल एक बार ऐप के साथ वितरित किया जाएगा।

Xcode इंटरफेस के लिए:

  • में जनरल एक रूपरेखा खींच -> एंबेडेड बाइनरी दोनों "लिंक बाइनरी के साथ पुस्तकालय" और "एम्बेड फ़्रेमवर्क" करने के लिए ढांचा जोड़ देगा चरणों
  • में एक रूपरेखा खींच का निर्माण सामान्य -> ​​लिंक्ड फ्रेमवर्क और पुस्तकालय केवल "पुस्तकालयों के साथ लिंक बाइनरी" निर्माण चरण में ढांचे को जोड़ देंगे।

सामान्य के तहत विचार बिल्ड चरण टैब से भरे हुए प्रतीत होते हैं ताकि आप या तो उपयोग कर सकें।

आशा है कि यह समझ में आता है।

संपादित करें: लक्ष्य निर्भरता केवल लक्ष्य हैं जिन्हें वर्तमान लक्ष्य के निर्माण से पहले बनाया जाना चाहिए। तो आपका ऐप लक्ष्य यहां अपना एक्सटेंशन सूचीबद्ध करेगा, ताकि जब भी आप अपना ऐप बनाते हैं, एक्सटेंशन विस्तारित हो जाता है।

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

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