我有一个包装应用程序,它打开另一个应用程序,我们称之为帮助应用程序。此应用程序位于包装应用程序资源文件夹中。
在关闭助手应用程序后,我想关闭主应用程序。我怎样才能做到这一点?
我还想知道,在助手打开后如何退出包装应用程序。
我有一个包装应用程序,它打开另一个应用程序,我们称之为帮助应用程序。此应用程序位于包装应用程序资源文件夹中。
在关闭助手应用程序后,我想关闭主应用程序。我怎样才能做到这一点?
我还想知道,在助手打开后如何退出包装应用程序。
您正在为 OSX(10.6 及更高版本)开发吗?在这种情况下,使用NSRunningApplication来终止包装应用程序。
@implementation AppDelegate // Helper Application delegate
- (void)applicationWillTerminate:(NSNotification *)aNotification
{
NSArray *apps = [NSRunningApplication runningApplicationsWithBundleIdentifier:@"com.yourApplication.Launcher"];
if ([apps count])
[(NSRunningApplication *)[apps objectAtIndex:0] terminate];
}
@end
您可以与NSWorkspace同步启动您的助手:
- (void)launchHelper // Wrapper launch method
{
NSURL *helperURL = [[NSBundle mainBundle] URLForResource:@"Helper" withExtension:@"app"];
if (helperURL)
{
NSError *err = nil;
[[NSWorkspace sharedWorkspace] launchApplicationAtURL:helprURL options:NSWorkspaceLaunchAllowingClassicStartup configuration:nil error:&err];
// here Helper 'main' have been called
}
}
简短的回答 - 你不能!
每个应用程序都在沙盒模式下工作。您可以调用其他应用程序,但您无法控制您的应用程序(当然您可以使用 AppDelegate 标准方法来处理进入/返回前台/后台操作,仅此而已)。