Ich starte meine JAR mit AppleScript, die in meinem Ziel-c-Code enthalten sind.Nicht möglich, einen neuen Thread in Objective zu erzeugen - C
Ich möchte diese Operation in einem neuen Thread (NSThread) ausführen.
Hinweis: Ich habe GCD verwendet, aber es hilft mir nicht, da sogar die gleichzeitige Warteschlange eine Abhängigkeit vom Hauptthread hat.
-(void) launchJar{
NSAppleScript *script = [[NSAppleScript alloc] initWithSource:scriptToLaunch];
[script executeAndReturnError:nil];
NSLog(@"hitting this point");
}
int main(int argc, char *argv[]) {
@autoreleasepool {
MCMCustomURLSchemeHandler *mcmCustomURLHandler = [[MCMCustomURLSchemeHandler alloc] init];
[NSThread detachNewThreadWithBlock:@selector(launchJar) toTarget:[JARLauncher class] withObject:nil];
return NSApplicationMain(argc, argv);
}
}
Ich folgte Ihrem Rat und ließ es laufen. Ich hatte auch ein Problem damit, wo ich meine launchJar-Methode platziert habe. Das Lösen dieser Tatsache ließ mich ein anderes Problem erkennen: http://stackoverflow.com/questions/40904677/how-doi-ihnure-that-i-close-my-app-only-when-all-the-threads -have-finished-exec Könnten Sie einen Blick darauf werfen? –