2012-05-08 8 views
11

का उपयोग कर मैक ओएस एक्स डिमन मैं मैक ओएस एक्स दुनिया में नया हूं लेकिन मेरे पास विंडोज देव पर कौशल है।ऑब्जेक्टिव-सी - लॉन्च

मुझे एक डेमॉन विकसित करना होगा (विंडोज़ पर विंडोज सेवा होगी) जो वेब सेवा से फ़ाइलों को अपलोड/डाउनलोड करता है।

मेरा प्रश्न है: क्या उद्देश्य-सी में लिखा गया ऐप बनाना संभव है जो डेमॉन (अपलोड/डाउनलोड करने के लिए) होगा और लॉन्च होने पर ओएस शुरू होने पर इसे लॉन्च करेगा? या एक डेमॉन बनाने के लिए एक और तरीका है?

आप

उत्तर

2

मुझे नहीं पता कि मैं सही ढंग से समझ गया हूं लेकिन मुझे लगता है कि आप इसे कर सकते हैं। अगला लिंक यह समझने के लिए एक अच्छी शुरुआत हो सकता है कि डेमन्स उद्देश्य-सी Apple Developer में कैसे काम करते हैं, फिर यहां कोड का एक दिलचस्प टुकड़ा है। It is about GPS but it might be usefull। इस github फ़ोल्डर को भी देखें। It is a controller for start/stop daemons

+0

धन्यवाद, यह कुछ ऐसा है जिसे मैं ढूंढ रहा हूं। – avmauricio

4

ओएस एक्स इन सेवाओं LaunchDaemon (सिस्टम-वाइड) और LaunchAgent (उपयोगकर्ता-विशिष्ट) कहा जाता है पर धन्यवाद। आप एक कॉन्फ़िगरेशन बनाते हैं जो सिस्टम को शुरू करने के लिए कहता है, जो चलाने के लिए निष्पादन योग्य है, stdin, stdout, और stderr के साथ क्या करना है, जो पास करने के लिए तर्क, आदि। इन आदमी पृष्ठों पर एक नज़र डालें:

launchd(8)  # the service controlling other services 
launchctl(1)  # the command to control services 
launchd.plist(5) # the configuration format for services 

डेमॉन रूबी, अजगर से कि ओएस एक्स पर चलता है तो ऑब्जेक्टिव-सी मैक मंच के लिए एक विशिष्ट स्थान है किसी भी भाषा में लिखा जा सकता है, लेकिन कुछ और, और सादे सी या सी ++ में ऐप्पलस्क्रिप्ट पर पर्ल करेंगे।

और नहीं, मैक पर ऐसा करने के लिए कोई अन्य (अनुशंसित) तरीका नहीं है। init.d -स्टाइल स्क्रिप्ट मैक पर काम नहीं करते हैं [या डार्विन पर, यह यूनिक्स परत है]। या, अधिक सटीक, बुनियादी ढांचा नहीं है जो उन्हें चलाता है।

अधिक जानकारी के लिए Daemons and Services Programming Guide देखें।

+0

जोर: *** किसी भी भाषा में *** लिखा जा सकता है। InputManager हैक्स की वजह से लॉन्चडेमॉन या सिस्टम-स्तर लॉन्चएजेंट के लिए ओब्जे-सी का उपयोग नहीं करना चाहिए! – Richard

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