2012-05-14 18 views
14

से एक मोनो टच बाध्यकारी बनाने के लिए कैसे मैंने TouchDB डाउनलोड किया, "हल्के अपाचे कोच डीबी-संगत डेटाबेस इंजन मोबाइल या डेस्कटॉप ऐप्स में एम्बेड करने के लिए उपयुक्त", जो मुझे .framework फ़ोल्डरों का एक गुच्छा देता है (CouchCocoa.framework, TouchDB .framework और TouchDBListener.framework)।एक .framework

मैं article on binding Obj-C libraries to MonoTouch पढ़ रहा हूं, यह how to bind a .a दिखाता है, लेकिन .framework को बाध्य करने का तरीका नहीं है।

मैं इन .framework के लिए बाध्यकारी कैसे बना सकता हूं? या मुझे इन .framework का उपयोग करने से पहले .a किसी भी तरह से उपयोग करना चाहिए (यदि यह भी संभव है)?

--EDIT--

संबंधित: https://bitbucket.org/LouisBoux/touchdb-monotouchbinding

उत्तर

1

तुम बस .a फ़ाइलों की तरह .framework फ़ाइलों का उपयोग कर सकते हैं। जैसे सभी बाइंडिंग मोनो टच प्रदान करता है (monotouch.dll में) .framework फ़ाइलों से बना है।

+0

ठीक है, लेकिन वहाँ एक .framework साथ (ए फाइलों के साथ) की तरह [LinkWith] के कुछ प्रकार है के लिए एक रास्ता है, इसलिए मैं करने के लिए की जरूरत नहीं है mtouch तर्क के साथ मैन्युअल रूप से जोड़ने? –

+0

मैंने इसे '[लिंकविथ]' के साथ उपयोग नहीं किया है, लेकिन इसके बारे में एक बग रिपोर्ट है @ https://bugzilla.xamarin.com/show_bug.cgi?id=2530 – poupou

+0

एक और विकल्प http://stackoverflow.com/q है/9078695/220643 – poupou

26

मोनो टच में एक .framework बांधें कई कदम उठाते हैं, एक .framework एक निर्देशिका है जो आमतौर पर लाइब्रेरी पैकेज के सभी हिस्सों (जैसे हेडर फाइल, संसाधन और लाइब्रेरी फ़ाइल) रखती है। .framework को बांधने के लिए आवश्यक सामान्य कदम यहां दिए गए हैं।

  • एक बाइंडिंग प्रोजेक्ट बना है जैसे आप एक सामान्य पुस्तकालय फ़ाइल (libXXX.a) के लिए होगा

  • एक .framework में पुस्तकालय बराबर विस्तार की जड़ में है कि बिना फ़ाइल है। फ्रेमवर्क निर्देशिका, उदाहरण के लिए मैंने हाल ही में आरडीपीडीएफकिट.फ्रेमवर्क के लिए बाइंडिंग लिखी है, शीर्ष स्तर की फ़ाइल आरडीपीडीएफकिट (कोई विस्तार नहीं) नाम की एक फाइल थी, इसे "libRDPDFKit.a" पर पुनर्नामित करें और अपनी बाइंडिंग प्रोजेक्ट पर कॉपी करें और इसे परियोजना में जोड़ें। यह समर्थित प्लेटफ़ॉर्म (उदा।, X86, arm6, आदि) के साथ फ़ाइल के पीछे एक कोड बनाएगा। इसके लिए सभी दस्तावेज Xamarin की वेबसाइट पर हैं।

  • बाइंडिंग को परिभाषित करें जैसा कि आप एक सामान्य पुस्तकालय के लिए करेंगे।

  • यदि ढांचे में एक। बंडल है, तो इसे प्रोग्राम प्रोजेक्ट (बाइंडिंग प्रोजेक्ट नहीं) पर कॉपी करें, इसे प्रोग्राम के संसाधनों के रूप में जोड़ा जाना होगा। इस निर्देशिका को परियोजना और नीचे के सभी आइटम में जोड़ें, ऐसा इसलिए है क्योंकि मोनोचouch में संसाधन डीएलएल में समर्थित नहीं हैं।

  • परिणामस्वरूप मोनोचouch बाइंडिंग डीएलएल में बाद में जोड़ने के लिए संपूर्ण। ए फ़ाइल होगी, इसलिए आपको .dll बनाने के बाद .a फ़ाइल की आवश्यकता नहीं होगी।

+0

क्या यह फ़ाइल प्लेटफॉर्म के पीछे कोड में सामान्य कुछ भी उत्पन्न नहीं होता है? यह केवल लिंकविथ, स्मार्टलिंक, फोर्सलोड लोड करता है लेकिन लक्ष्यों के बारे में कुछ भी नहीं। – Citroenfris