2012-02-25 13 views
11

एक कमांड लाइन उपकरण हमेशा के लिए चल रहा है।कमांड लाइन उपकरण को जीवित रखें

#import <Foundation/Foundation.h> 

int main (int argc, const char * argv[]) 
{ 

    @autoreleasepool { 

     [[NSDistributedNotificationCenter defaultCenter] addObserverForName:nil object:nil queue:nil usingBlock:^(NSNotification *notification) 
     { 
      NSLog(@"%@", notification); 
     }]; 

     //Keep alive... 

    } 
    return 0; 
} 

उत्तर

23

आप एक runloop या तो CFRunLoop या NSRunLoop का उपयोग कर में प्रवेश करने की जरूरत है:

यह मेरा कोड है।

प्रयास करें:

[[NSRunLoop currentRunLoop] run]; 
+0

यह पूंजी एल के साथ 'NSRunLoop' होना चाहिए, लेकिन अन्यथा यह पूरी तरह से काम करता है। – Tyilo

+0

पूंजीकरण फिक्स्ड। – EricS

+0

वह था, धन्यवाद! – Andy

0

स्विफ्ट 4 में,

RunLoop.current.run() 

चीयर्स।

+0

डाउनवोट क्यों है? मुझे यह जवाब मिला, जबकि मैं कमांड लाइन उपकरण को जीवित रखने के लिए स्विफ्ट का उपयोग कर रहा था। मैंने सोचा कि कुछ लोग इसे भी जानना चाहते हैं। –

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