1. 在终端调用命令行实现Chrome插件安装
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install extensionPath
注意:安装插件之前要确保Chrome浏览器不在运行
2. 通过代码实现Chrome插件安装
- (void)startInstallChromeExtension { NSURL *url = [[NSWorkspace sharedWorkspace] URLForApplicationWithBundleIdentifier:@"com.google.Chrome"]; if (url) { Nsstring *chromeExtensionPath = [[NSBundle mainBundle] pathForResource:EXTENSIONSOURCENAME ofType:@"crx" inDirectory:EXTENSIONDIRNAME]; NSDictionary *configuration = [NSDictionary dictionaryWithObjectsAndKeys: [NSArray arrayWithObjects:@"--enable-easy-off-store-extension-install",chromeExtensionPath,nil],NSWorkspaceLaunchConfigurationArguments,nil]; [[NSWorkspace sharedWorkspace] launchApplicationAtURL:url options:NSWorkspacelaunchdefault configuration:configuration error:nil]; } } - (IBAction)installChromeExtension:(id)sender { NSArray *runningChromes = [NSRunningApplication runningApplicationsWithBundleIdentifier:@"com.google.Chrome"]; if ([runningChromes count] > 0) { NSAlert * alert = [NSAlert alertWithMessageText:NSLocalizedString(@"安装Chrome插件,需要关闭正在运行的Chrome浏览器,是否允许?",@"") defaultButton:NSLocalizedString(@"OK",@"") alternateButton:NSLocalizedString(@"Cancel",@"") otherButton:nil informativeTextWithFormat:@""]; NSInteger result = [alert runModal]; if (result == NSAlertDefaultReturn ) { for (int i = 0; i < [runningChromes count]; i++) { [(NSRunningApplication *)[runningChromes objectAtIndex:i] forceTerminate]; } [self performSelector:@selector(startInstallChromeExtension) withObject:nil afterDelay:0.5]; } } else { [self performSelector:@selector(startInstallChromeExtension) withObject:nil afterDelay:0.5]; } }