我希望启动一个包文件并等待安装完成/关闭。同时主调用应用程序应该被锁定直到完成。
到目前为止,我已经尝试了以下...
- (IBAction)installDriver:(id)sender
{
NSString *file = [[NSBundle mainBundle] pathForResource:@"ExamplePackage" ofType:@"pkg"];
[[NSWorkspace sharedWorkspace] openFile:file];
[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(appDidEnd:) name:NSWorkspaceDidTerminateApplicationNotification object:nil];
}
- (void)appDidEnd:(NSNotification *)notification
{
NSLog(@"app info: %@", [notification userInfo]);
}
问题是每当任何应用程序关闭时都会调用 appDidEnd,而且无法检测 ExamplePackage.pkg 是否是关闭的,因为 userinfo 将 installer.app 报告为正在关闭的应用程序。
关于我要达到的目标的任何想法....