我想在 Safari 中打开我当前的 Cocoa 应用程序的 URL,但问题是我不希望 Safari UI 对用户可见。 即 Safari 应该在后台执行,而不显示其中发生了什么。可能吗?
如果是,请告诉方法。
WebView
类在 Web 视图中打开 URL,如果 Safari 不是强制性要求,则不要使 Web 视图对用户可见。
或
您可以使用Scripting Bridge
框架来最小化应用程序 safari 或使用头文件中的其他方法Safari.h
打开 URL 后在后台运行它。您可以通过此链接了解有关脚本桥的更多信息。对于您的任务,请按照以下步骤操作:
使用下面的终端命令为 safari 生成一个头文件:
sdef /Applications/Safari.app | sdp -fh --basename Safari
现在,检查您的主文件夹或执行终端cmd的当前目录以查看文件Safari.h
拖动此文件并将其添加到项目中。将 ScriptingBridge.Framework 添加到您的项目中。
导入标头:
#import <ScriptingBridge/ScriptingBridge.h>
#import "Safari.h"
现在使用以下代码在打开URL后隐藏野生动物园:
SafariApplication* sfApp = [SBApplication applicationWithBundleIdentifier:@"com.apple.Safari"];
SafariWindow* win = [[sfApp windows]objectAtIndex:0];
[win setVisible:FALSE];