Dashboardの起動完了をどう取るか。NSWorkspaceでアプリケーションを起動した場合、NSWorkspaceDidLaunchApplicationNotification という通知を受け取れるようだ。
まず notificationCenter へ通知受取先を登録する。
[[[NSWorkspace sharedWorkspace] notificationCenter]
addObserver:self selector:@selector(didLaunchApplication:)
name:NSWorkspaceDidLaunchApplicationNotification object:nil];
通知を受け取るメソッド。ここでは通知内容をログへ表示する。
- (void)didLaunchApplication:(NSNotification *)notification
{
NSLog(@"%@", notification);
}
試してみる。辞書(Dictionary.app)を起動すると下記の通知が来た。
SimpleCap[9476:10b] NSConcreteNotification 0x1a2ea0 {name = NSWorkspaceDidLaunchApplicationNotification; object = ; userInfo = {
NSApplicationBundleIdentifier = "com.apple.Dictionary";
NSApplicationName = "\U8f9e\U66f8";
NSApplicationPath = "/Applications/Dictionary.app";
NSApplicationProcessIdentifier = 9480;
NSApplicationProcessSerialNumberHigh = 0;
NSApplicationProcessSerialNumberLow = 2650759;
}} よしDashboardは?....通知が来ない。元々常駐しているからか?
さてどうしたものか。
