だから私はiTunesが実行されているかどうかに基づいてifを作成しようとしています。アプリケーションがトラック名を取得するため、これが必要です。このトラック名はすでに完成していて機能していますが、iTunesを常に実行したくありません...
そこで、setLaunchPathインスタンスでNSTaskを試して、iTunes.appが実行されているかどうかを確認することにしました。以下のコードは自明ですが、iTunesが開いていると、何らかの理由で他のコードにヒットし続けます。このメソッドは、awakeFromnibで5秒ごとにnstimerによって呼び出されます。
-(IBAction)ifRunning:(id)pID; {
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/Applications/iTunes.app/Contents/MacOS/iTunes"];
if ([task isRunning]==TRUE) {
NSLog(@"iTunes is Running, hit if");
NSString *track = ([self getCurrentTrack]);
//getCurrentTrack another one of my methods
}
else if ([task isRunning] == FALSE) {
NSLog(@"iTunes is not running, hit else if");\
[trackName setTitle:(@"iTunes is Not Playing")];
}
else {
NSLog(@"Hit else");
}
}