AppleScript速度太慢,所以我尝试使用ScriptingBridge打开System Preferences.app并设置当前窗格,该窗格也太慢。有没有更快的方法来做到这一点?正确以编程方式打开预制面板的最快方法?
回答
使用启动服务或NSWorkspace打开预制版软件包。这是open(1)命令的编程版本。
没有道理的:
system("open -a System\\ Preferences");
,并选择打开该窗格:
open /System/Library/PreferencePanes/Internet.prefPane
open /System/Library/PreferencePanes/DateAndTime.prefPane
...
只要你发现了,一点点摸索,在/System/Library/PreferencePanes/
第一个正确的文件。
我敢肯定,还有更多的可可方式来做到这一点最后的伎俩,仍然...这一个适用于每种语言。
另外:你可能要检查这些路径
/Library/PreferencePanes/ ~/Library/PreferencePanes/
...因为这就是第三方应用程序的安装文件
*.prefPane
您具体是如何使用脚本桥?
我试着用这个代码,我认为这表现相当不错:
SystemPreferencesApplication *SystemPreferences = [SBApplication applicationWithBundleIdentifier:@"com.apple.systempreferences"];
@try {
[SystemPreferences activate];
SystemPreferences.currentPane = [SystemPreferences.panes objectWithID:@"com.apple.preference.security"];
} @catch (NSException *exception) {
NSLog(@"%@", [exception description]);
}
这里只是为了好玩另一种选择是可可,但是根本未记录(只有用系统预置面板的作品)。您可以使用它来比较性能,但不要在生产代码中使用它。
id bezelServicesTask = [NSConnection rootProxyForConnectionWithRegisteredName:@"com.apple.BezelServices" host:nil];
[bezelServicesTask performSelector:@selector(launchSystemPreferences:) withObject:@"Security.prefPane"];
我有和你一样的Scripting Bridge代码(当然,减去异常代码) - 我从苹果示例中拿走了我的代码。奇怪的是,如果我双击PreferencePanes文件夹中的prefpane文件,系统首选项将打开并立即加载窗格。 – 2009-11-18 22:29:02
我使用Scripting Bridge进行了测试。但事实证明,它极其缓慢。 – 2012-07-22 20:58:51
比使用的文件系统路径的更直接的方法是使用适当的资源URL用于与NSWorkspace偏好窗格如图所示:
NSString *urlString = @"x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility";
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:urlString]];
其中urlString
从一些可能的列表采取URL字符串https://macosxautomation.com/system-prefs-links.html
- 1. 如何以编程方式打开控制面板?
- 2. 以编程方式打开chm文件的最简单方法?
- 3. 以编程方式创建/编辑模板的最佳方法
- 4. iOS5:以编程方式强制用户界面方向的最佳方法
- 5. jQuery UI手风琴无法以编程方式打开第3个面板
- 6. 以便携式方式以编程方式打开文档
- 7. PhpED:打开文件的最快方法?
- 8. 以编程方式打开collapsible div
- 9. 以编程方式打开primeng日历
- 10. 以编程方式打开蓝牙
- 11. Postgres以编程方式打开log_statement
- 12. 如何以编程方式打开GPS
- 13. 以编程方式打开radlistpicker弹出
- 14. 以编程方式打开窗体
- 15. 以编程方式打开CD托盘
- 16. Monkeyrunner以编程方式打开设置
- 17. 以编程方式打开Mac App Store
- 18. 以编程方式打开TFS Workitem UI
- 19. 以编程方式打开SearchableSpinner
- 20. Android屏幕以编程方式打开
- 21. 以编程方式打开屏幕
- 22. Primefaces以编程方式打开p:fileUpload
- 23. 以编程方式打开Apple Health
- 24. 以编程方式打开网页
- 25. 以编程方式打开kendoDetailTemplate
- 26. 以编程方式打开pdf文件
- 27. 无法以编程方式在快速
- 28. 以编程方式打印ActiveReports页面
- 29. 以编程方式打开infopath模板文件(XSN)
- 30. 以编程方式打开PDF并以PDF格式打印C#
您是否注意到System Preferences.app无论如何被调用都打开速度很慢?因为我注意到了。 – 2009-11-18 09:52:14
鉴于你以前的问题和这一个,你可能想看看这个:http://0xced.blogspot.com/2008/02/upgrading-system-preference-pane.html – 0xced 2009-11-18 09:56:56
伟大的文章0xced,谢谢! – 2009-11-18 22:31:52