2011-09-21 10 views
7

मैं रूबी-टीसी का उपयोग कर ओएस एक्स के लिए डेस्कटॉप एप्लिकेशन पर काम कर रहा हूं, और मैं एप्लिकेशन के लिए एक ऐप्पल इवेंट इंटरफ़ेस प्रदान करना चाहता हूं। इसका अर्थ यह है कि एप्लिकेशन ऐप्पलस्क्रिप्ट कमांड के एक शब्दकोश को परिभाषित करेगा जो इसका जवाब देगा (एप्पल इवेंट्स को एप्लिकेशन पर भेजा जा रहा है), और उपयोगकर्ता/अन्य एप्लिकेशन ऐप्पलस्क्रिप्ट कमांड के साथ रुबी-टीके एप्लीकेशन को स्क्रिप्ट कर सकते हैं। अन्य स्क्रिप्टिंग भाषाएं इस तरह की कार्यक्षमता का समर्थन करती हैं - पीई-एमेर्रेसिव लाइब्रेरी के माध्यम से पाइथन http://appscript.svn.sourceforge.net/viewvc/appscript/py-aemreceive/ और टीसीएलएई लाइब्रेरी के माध्यम से http://tclae.sourceforge.net/ पर टीसीएल। मैं रूबी में इसी तरह की कार्यक्षमता की तलाश में हूं और खाली हो गया हूं।क्या रूबी ओएस एक्स पर ऐप्पल घटनाओं का जवाब देने के लिए एक तंत्र प्रदान करता है?

एक संभावित तंत्र rubyobjc पुल है, जो रूबी और ऑब्जेक्टिव-सी के बीच एक निम्न स्तरीय इंटरफ़ेस प्रदान करता है, लेकिन यह मणि कम उपयोग किया जाता है और उदाहरणों और दस्तावेजों में गंभीर रूप से कमी है, इसलिए मुझे यकीन नहीं है कि यह पीछा करने के लिए एक उपयोगी रास्ता होगा।

एनबी: मैकरुबी काम कर सकता है लेकिन यह रुपये के साथ संगत नहीं है, इसलिए मैक्रूबी का नियम है। इसके अलावा, रूबीओएसए और आरबी-ऐपस्क्रिप्ट मैं नहीं देख रहा हूं - वे रूबी को अन्य अनुप्रयोगों में ऐप्पल इवेंट्स भेजने की इजाजत देते हैं, उन्हें प्राप्त नहीं करते हैं।

+0

सामान्य एई या टीटीसी द्वारा समर्थित (टीसीएल) एपीआई द्वारा समर्थित http://www.tcl.tk/man/tcl8.6/TkCmd/tk_mac.htm –

उत्तर

1

अन्य विकल्पों की अनुपस्थिति में, ऐसा प्रतीत होता है कि मुझे ऐप्पलवेन्ट सी एपीआई के हिस्सों के लिए अपना खुद का रूबी रैपर लिखना होगा, जो मुझे चाहिए: मुख्य रूप से एई इन्स्टॉलएवेंट हैंडलर और संबंधित कार्य। सौभाग्य से ऐप्पल अभी भी इस एपीआई का समर्थन करता है भले ही इसे ऐप्पल के डेवलपर दस्तावेज़ों में "विरासत" स्थिति में ले जाया गया हो (हालांकि, दिलचस्प बात यह है कि इसे बहिष्कृत नहीं किया गया है)। मैं या तो रूबी के एफएफआई मणि के माध्यम से इन कार्यों को एकीकृत कर सकता हूं, या अधिक संभावना है, रुबी के सी एपीआई के माध्यम से (जिसे मुझे अभी भी खोदना है); सी एपीआई का उपयोग सीधे अन्य रत्न/मॉड्यूल पर निर्भरताओं की आवश्यकता को कम करेगा। अगर यह अच्छी तरह से चला जाता है तो मैं इसे एक मणि के रूप में छोड़ दूंगा।

डोनाल फैलो की टिप्पणी के संबंध में, मेरी ज़रूरत कस्टम ऐप्पल एवेन्ट्स के लिए है - जो डॉक्स में उनके द्वारा अनुशंसित किए गए दस्तावेज़ों में रूबी के अतिरिक्त इंटरफ़ेस से कॉल तक पहुंचने की संभावना है।

1

आप appscript पुस्तकालय जांच करना चाह सकते:, या जो ओएस एक्स में उपलब्ध APIs के काफी सब कुछ, यहां तक ​​कि सी लोगों लपेटता MacRuby आज़माकर देख सकते हैं (ध्यान दें केवल ओएस एक्स-प्रदान की रूबी के साथ काम करने लगता है) ।

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

  • कोई संबंधित समस्या नहीं^_^