2012-02-25 17 views
11

Come mantenere uno strumento da riga di comando in esecuzione per sempre.Mantieni attivo lo strumento da riga di comando

Questo è il mio codice:

#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; 
} 

risposta

23

, è necessario entrare in un runloop utilizzando CFRunLoop o NSRunLoop.

Prova:

[[NSRunLoop currentRunLoop] run]; 
+0

Dovrebbe essere "NSRunLoop' con una L maiuscola, ma ha funzionato perfettamente. – Tyilo

+0

Risolto il problema con le maiuscole. – EricS

+0

Ecco, grazie! – Andy

0

a Swift 4,

RunLoop.current.run() 

Cin cin.

+0

Perché è il downvote? Ho trovato questa risposta mentre stavo usando Swift per mantenere vivo lo strumento da riga di comando. Ho pensato che alcune persone vorrebbero saperlo anche loro. –

Problemi correlati