यदि आप मैक पर ऐसा कर रहे हैं, तो हाँ, यह संभव है। आईओएस पर इतना नहीं है।
मैक पर, यदि आप मोनोमैक में एक सीएलआई ऐप बना सकते हैं, तो आप एनएसटीस्क का उपयोग करके अपने सीएलआई ऐप को अपने उद्देश्य-सी ऐप से कॉल कर सकते हैं। एनएसटीस्क आपको आसानी से कमांडलाइन उपकरण लॉन्च करने और उसके आउटपुट को कैप्चर करने और इसके साथ बातचीत करने की अनुमति देता है।
NSArray *args = [NSArray arrayWithObjects:@"-arg1", @"-arg2", nil];
NSTask *foo = [[NSTask alloc] init];
[foo setLaunchPath:@"/usr/bin/foo"];
[foo setArguments:args];
NSPipe *pipe = [NSPipe pipe];
[foo setStandardOutput:pipe];
NSFileHandle *output = [pipe fileHandleForReading];
[foo launch];
NSData *data = [output readDataToEndOfFile];
NSString *outputStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Got stuff: %@", outputStr);
आमतौर पर, जिस तरह से आप ऐसा करना चाहते हैं, तो आप अपने एप्लिकेशन बंडल के अंदर CLI अनुप्रयोग शामिल है: ऐसा करने के लिए, आप की तरह कुछ करना चाहते हैं। इसके बाद आप NSBundles -pathForResource का उपयोग कर सीएलआई ऐप का मार्ग प्राप्त कर सकते हैं: टाइप प्रकार: विधि।
आईओएस में एनएसटीस्क एपीआई शामिल नहीं है, इसलिए यह संभव नहीं है। मैंने सीओ का उपयोग करके आईओएस ऐप बनाने के लिए मोनो टच का उपयोग करके कुछ लोगों के बारे में सुना है, लेकिन जैसा कि आपने सुझाव दिया है, मुझे लगता है कि यदि संभव हो तो आप अपने ऐप के बड़े हिस्से के लिए उद्देश्य-सी के साथ चिपकने से सबसे अच्छे हैं। आपके द्वारा वर्णित एक सीएलआई ऐप का उपयोग करना निश्चित रूप से मैक पर एक विकल्प है और विशेष रूप से उपयोगी हो सकता है जब आपके पास पहले से लिखे गए और परीक्षण किए गए कोड का एक समूह हो और काम करता है कि आप कोको जीयूआई के साथ "लपेटें" चाहते हैं।
तो, एनएसटीस्क आपके ऐप बंडल में लिपटे बाहरी सीएलआई निष्पादन योग्य का उपयोग करके ऐसा करने का एक तरीका है। दूसरी तरफ, आप सोच रहे होंगे, क्या आप अपने सी # कोड को सीधे उद्देश्य-सी में जोड़ सकते हैं?
अच्छा, उद्देश्य-सी सी का एक सुपरसेट है, और इस तरह, इसमें सी की सभी क्षमताओं हैं। इसके अतिरिक्त, यदि आप उद्देश्य-सी ++ का उपयोग करते हैं तो इसमें सी ++ की सभी क्षमताएं भी हैं। इसलिए, यदि आप या तो सी या सी ++ स्थिर पुस्तकालय उत्पन्न करने के लिए मोनोमैक प्राप्त कर सकते हैं, तो हाँ, आप अपने स्थैतिक पुस्तकालय को अपने उद्देश्य-सी कोको कोड से भी लिंक कर सकते हैं, और यह केवल काम करेगा। मैं आपको बता नहीं सकता कि लाइब्रेरी को मोनोमैक से कैसे बनाना है, लेकिन इसे लिंक करना सिर्फ एक्सकोड में अपनी बिल्ड सेटिंग्स में आपके लिंक किए गए पुस्तकालयों को जोड़ने का मामला है।
संपादित करें: मैं भाषा के रूप में सी ++/सीएलआई से परिचित नहीं हूं, और मैंने सी ++/सीएलआई के अर्थ का अर्थ "सी ++ कमांड लाइन इंटरफेस ऐप" से गलत व्याख्या किया है। उस ने कहा ... मैंने जो तकनीकें वर्णित की हैं, वे अभी भी संभव विधियों के रूप में लागू होती हैं जो आप करना चाहते हैं, लेकिन यह सी ++/सीएलआई इंटरफ़ेस का उपयोग नहीं कर रहा है जैसे आप विंडोज पर कर सकते हैं।
वास्तव में एक बहुत ही दिलचस्प सवाल है कि। पता नहीं क्या जवाब है, लेकिन मुझे यह देखने में दिलचस्पी है कि लोगों को इसके बारे में क्या कहना है। –
... और यही कारण है कि हमारे पास वोट-अप बटन है। – vidstige