मैं एक स्थिर पुस्तकालय पर काम कर रहा हूं, जिसे Silicon कहा जाता है, जिसका उपयोग मैं अपने सभी आईओएस ऐप्स के लिए करता हूं।स्थिर स्थिर पुस्तकालयों वाले स्थिर पुस्तकालयों को जोड़ने के लिए सही प्रक्रिया क्या है?
क्योंकि मैं एक विशाल स्थैतिक पुस्तकालय नहीं बनाना चाहता जो कि बनाए रखने में कठोर हो सकता है, मैं कई छोटी स्थिर पुस्तकालयों को बना देता हूं जिन्हें मैं submodules के रूप में संलग्न करता हूं।
सिलिकॉन के लिए यह निर्भरता पेड़ लिखने के समय के रूप में इस प्रकार है:
Silicon
|
| ==>FDKeychain
| ==>FDDataClient
|
| =>FDRequestClient
|
| =>FDFoundationKit
| ==>FDSQLiteDatabase
|
| =>FDFoundationKit
आप देख सकते हैं दोनों FDRequestClient और FDSQLiteDatabase एक आम स्थिर पुस्तकालय के रूप में FDFoundationKit है।
ऐसा लगता है कि जब सिलिकॉन का उपयोग करने वाली एक परियोजना बनाई गई है तो यह परियोजनाओं के निर्माण के लिए सिलिकॉन की लक्षित निर्भरताओं के सभी बनाता है। FDDataClient और FDSQLiteDatabase के लिए भी यही बात होती है। तो किसी बिंदु पर FDRequestClient से FDFoundationKit को बिल्ड निर्देशिका के साथ-साथ FDSFiteationKit से FDFoundationKit में कॉपी और कॉपी किया गया है। जो भी बनाया गया है वह पिछली बार ओवरराइट करता है।
बस भाग्यशाली भाग्य से FDFoundationKit किसी भी गंभीर तरीके से नहीं बदल रहा है जैसे FDRequestClient और FDSQLiteDatabase हमेशा एक ही संस्करण का उपयोग नहीं कर सकता है लेकिन मैं गारंटी नहीं दे सकता कि यह हमेशा के लिए ऐसा होगा।
मैं यह पता लगाने की कोशिश कर रहा हूं कि सिलिकॉन का उपयोग करने के लिए एफडीएफउंडेशनकिट का कौन सा संस्करण निर्दिष्ट करने का कोई तरीका है, इसलिए यह सुनिश्चित करने के लिए सिलिकॉन की ज़िम्मेदारी हो सकती है कि इस्तेमाल किया गया संस्करण FDRequestClient, FDSQLiteDatabase और किसी अन्य निर्भरता दोनों के लिए काम करेगा। भविष्य में जोड़ें।
मुझे पता है कोकोपोड्स इस समस्या को हल करने का प्रयास करते हैं, लेकिन मैं किसी को अपनी लाइब्रेरी को काम करने के लिए बस इसे सेट अप नहीं करना चाहता हूं। अगर मैं सिलिकॉन को परिभाषित करने के किसी भी तरीके से पता लगा सकता हूं कि एफडीएफउंडेशनकिट का कौन सा संस्करण सब कुछ उपयोग करने के लिए पूरी तरह से काम करेगा।
आप कोकोसपोड्स का उपयोग नहीं करना चाहते हैं क्योंकि आप "मेरी लाइब्रेरी को काम करने के लिए किसी को भी इसे सेट अप नहीं करना चाहते हैं"। मुझे पूरा यकीन है कि अधिकतर सुझाव जो अन्य उपयोगकर्ता यहां करेंगे, आपको सेटअप और प्रबंधन के लिए और अधिक समय लगेगा यदि आप एक निजी कोकोपोड्स का एक बार सेटअप करते हैं। – Emilie
लेकिन सिलिकॉन के उपयोगकर्ताओं के लिए कोई सेटअप नहीं होगा। वे सिर्फ स्थिर पुस्तकालय को जोड़ते हैं और सबकुछ काम करता है। अगर मैं कोकोपोड्स पर स्विच करता हूं तो हर कोई जो इस पुस्तकालय का उपयोग करना चाहता है उसे इसे प्राप्त करने की आवश्यकता होगी। मैं इस लाइब्रेरी के साथ लेगवर्क करने की कोशिश कर रहा हूं ताकि यह सुनिश्चित किया जा सके कि यदि आप इसे लिंक करते हैं तो यह सही तरीके से निर्माण करेगा। –