2015-09-03 9 views
39

बाहरी ढांचे Xcode का उपयोग करते समय के बीच अंतर है अब एक एंबेडेड बाइनरी के साथ-साथ लिंक्ड फ़्रेमवर्क अनुभाग है।क्या एंबेडेड बाइनरी और लिंक्ड फ़्रेमवर्क

enter image description here

आप एक बाहरी ढांचे और Finder-> यह Xcode में खींचें डाउनलोड करते हैं, यह लिंक्ड फ़्रेमवर्क और पुस्तकालय अनुभाग में ढांचा स्थापित करेंगे।

जब आप कार्थेज के साथ एक पुस्तकालय का निर्माण यह एंबेडेड बाइनरी अनुभाग में खींचकर सिफारिश की।

दोनों, लिंकेज के मामले में काम करने लगते हैं के रूप में एपीआई, किसी भी तरह से उपलब्ध हो जाता है आगे और अधिक जब एंबेडेड बाइनरी अनुभाग यह भी अपने आप लिंक्ड फ़्रेमवर्क और पुस्तकालय अनुभाग में जोड़ा जाता है में एक रूपरेखा जोड़ने ।

तो, कौन सही है? कार्थेज या बाकी इंटरनेट? और एक्सकोड परियोजनाओं में बाहरी संसाधनों को शामिल करने के लिए 2 विकल्प क्यों हैं?

+0

और जब आप डिवाइस पर परीक्षण करते हैं तो यह काम करता है? – trojanfoe

+0

@trojanfoe हाँ यह करता है। –

+0

यह समझ में नहीं आता है, जब तक यह या तो 1) एम्बेडेड बाइनरी अनुभाग या 2 में) निर्माण के दौरान ऐप बंडल में ढांचे की प्रतिलिपि बनाने के लिए एक बिल्ड चरण नहीं है। – trojanfoe

उत्तर

8

यदि आप बाइनरी एम्बेड करते हैं तो इसे आपके उत्पाद में शामिल किया जाएगा। यदि आप इसे एम्बेड किए बिना लाइब्रेरी या फ्रेमवर्क को लिंक करते हैं, तो यह आपके उत्पाद का हिस्सा नहीं होगा।

हालांकि, आईओएस 8 में सभी तृतीय पक्ष ढांचे को "एम्बेडेड" होना आवश्यक है। यहां तक ​​कि विभिन्न कार्यक्रमों के बीच साझा किया गया एक ढांचा भी उन कार्यक्रमों में से प्रत्येक में "एम्बेडेड" होना चाहिए। यदि किसी साझा स्थान पर डिवाइस पर यह इंस्टॉल किया गया था, तो साझा स्थान से समान "एम्बेडेड" कोड का उपयोग करके कोई अन्य स्थापना प्रक्रिया उस मौजूदा स्थापना का पुन: उपयोग कर सकती है। यह आईओएस 8 के लिए विशिष्ट है, आईओएस 8 से पहले और आईओएस दुनिया के बाहर यह संभव नहीं है कि यह जवाब सटीक नहीं होगा।

+0

"द्विआधारी एम्बेड करने से उपयोगकर्ता के लिए आपके उत्पाद को इंस्टॉल करना आसान हो जाएगा यदि उनके पास पहले से ही उस सामान की एक कार्य स्थापना नहीं है उनकी मशीनों पर "ओएसएक्स की तरह लगता है, आईओएस नहीं ... अगर उनके पास लाइब्रेरी इंस्टॉल नहीं है (यानी यह गैर-मानक है) तो ऐप बस लोड नहीं होगा। – trojanfoe

+0

यह केवल लोड नहीं होगा, @trojanfoe, इसे अस्वीकार कर दिया जाएगा और आप इसे पहले स्थान पर इंस्टॉल नहीं कर सकते (जब तक कि आप डेवलपर नहीं हैं या एंटरप्राइज़ खाते का उपयोग नहीं करते हैं ...) – dogsgod

+0

आईओएस 8 – Basti

23
  1. लिंकिंग- अगर हम इसमें परिभाषित किसी भी एपीआई का उपयोग करते हैं तो हमें एक ढांचे को लिंक करना होगा।

  2. एम्बेडिंग - यह प्रक्रिया सुनिश्चित करेगी कि जोड़ा गया ढांचा ऐप बंडल के भीतर एम्बेड किया जाएगा, और संभावित रूप से ऐप और किसी भी एक्सटेंशन बंडलों के बीच कोड साझा करने में मदद करेगा। हम केवल तृतीय पक्ष ढांचे को एम्बेड करते हैं, न कि आईओएस द्वारा प्रदान किए गए लोगों के रूप में, क्योंकि वे डिवाइस में आसानी से उपलब्ध हैं। अगर हम एम्बेड कर रहे हैं, तो इसका मतलब है कि, हमें उनसे लिंक करने की भी आवश्यकता होगी ताकि एक्सकोड संकलित और निर्माण कर सके। जब ऐप डिवाइस में चलता है, तो आवश्यक होने पर एम्बेडेड ढांचे को स्मृति में लोड किया जाएगा।

+1

अच्छा समझाया सर – ShivaPrasad

+0

धन्यवाद @ShivaPrasad :-) – Shripada

-1

मेरी समझने के लिए, एम्बेडेड द्विआधारी केवल गतिशील रूपरेखा है कि iOS 8 और इसके बाद के संस्करण पर उपलब्ध है शामिल हैं, अन्यथा आप रूपरेखा है कि स्थिर है केवल लिंक कर सकते हैं।

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