2 votes

Problèmes avec NSTask dans OS X 10.6 Snow Leopard

Est-ce que quelqu'un d'autre a vu ou entendu parler de problèmes avec NSTask dans 10.6?

Ce code fonctionnait bien hier, et ne fonctionne pas aujourd'hui.

NSTask *task = [converter task];
[task waitUntilExit];
NSLog(@"La tâche est terminée");

La tâche fait ce qu'elle est censée faire (j'ai vérifié la sortie et tout est bon), mais le programme restera indéfiniment en attente à la méthode waitUntilExit. J'ai quelques tests unitaires qui utilisent un code similaire, ils avaient tous passé précédemment, mais depuis hier, ils ne fonctionnent plus.

0voto

Steve D Points 1

Vous devez peut-être lancer la tâche d'abord.

0voto

Kuba Suder Points 2042

Je ne suis pas sûr si cela aide, mais vous pouvez essayer d'attendre sur un thread séparé :

[NSThread detachNewThreadSelector: @selector(foo) toTarget: self withObject: task];

...

- (void) foo: (NSTask *) task {
  [task launch];
  [task waitUntilExit];
  ...

J'avais un problème où je ne recevais pas la NSNotification lorsque la tâche était terminée, et cela l'a résolu. Apparemment, il y a quelques bugs dans l'implémentation de NSTask sous 10.6...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X