मुझे यह स्वीकार करना होगा कि IOS 8 की रिलीज के साथ मैं iOS में गतिशील और स्थिर रूपरेखा के बारे में थोड़ा भ्रमित हूं।
मैं अपने द्वारा बनाई गई लाइब्रेरी को वितरित करने का एक तरीका ढूंढ रहा हूं, और मुझे iOS 7 और इसके बाद के संस्करण का समर्थन करने की आवश्यकता है। (नोट: यह एक मालिकाना ढांचा होगा। मैं कोको फली का उपयोग नहीं कर सकता, और मैं स्रोत का वितरण भी नहीं कर सकता)। यहाँ मैं पहले से ही जानता हूँ:
- iOS 8 ने iOS के लिए "एम्बेडेड फ्रेमवर्क" पेश किया, लेकिन जैसा कि मैं समझता हूं, वे iOS 7 के लिए, केवल iOS 8 और इसके बाद के संस्करण के लिए काम नहीं करते हैं।
- मेरे पास अपनी लाइब्रेरी को स्टैटिक लाइब्रेरी (.A फ़ाइल) के रूप में वितरित करने और हेडर वितरित करने का विकल्प है। मुझे पता है कि यह स्थिति से निपटने का एक सामान्य तरीका है, लेकिन मैं इससे कुछ सरल खोजना चाहता हूं (और यदि संभव हो तो इसके साथ कुछ संसाधनों को बंडल करना भी)।
- मैंने यह भी पाया है कि iOS 7 डायनेमिक .framework लाइब्रेरी (केवल स्टैटिक) का समर्थन नहीं करता है क्योंकि यह डायनेमिक लिंकिंग का समर्थन नहीं करता है। लेकिन iOS 8 करता है, साथ ही स्टेटिक लिंकिंग भी।
और इस जानकारी के बारे में मेरे प्रश्न हैं:
- मैंने देखा कि मैं Mach-O प्रकार को "स्थिर लाइब्रेरी" में बदलकर एक .framework लक्ष्य बना सकता हूं, और इसे स्थिर बना सकता हूं। बिना किसी समस्या के iOS 7 का समर्थन करने के लिए और अपनी लाइब्रेरी को वितरित करने के लिए भी यह पर्याप्त होगा। .framework बंडल? यदि हां, तो iOS 8 में "एंबेडेड फ्रेमवर्क" क्यों एक बड़ी बात है, जैसा कि इंटरनेट पर कई संसाधन सुझा रहे हैं? क्या मैं कुछ याद कर रहा हूं?
- क्या यह आवश्यक है कि मैं किसी भी अन्य एप्लिकेशन के साथ जैसा करता हूं वैसा ही करें।
- क्या होगा अगर मुझे अपने .framework फ़ाइल के साथ अन्य संसाधन (जैसे कोर डेटा या छवियां) शामिल करने की आवश्यकता है? क्या मुझे उसके लिए एक अलग .bundle फ़ाइल बनाने की आवश्यकता होगी?