Objective c 使用SBApplication在Safari中打开URL?

Objective c 使用SBApplication在Safari中打开URL?,objective-c,cocoa,Objective C,Cocoa,我正在尝试使用SBApplication告诉几个浏览器(Safari和Chrome)打开给定的URL。然而,这些应用程序只是将其视为一个文件url。下面是我正在使用的伪/JSTalk代码: var safari = [SBApplication applicationWithBundleIdentifier:@"com.apple.Safari"]; var url = [NSURL URLWithString:@"http://apple.com/"]; [safari open:url];

我正在尝试使用SBApplication告诉几个浏览器(Safari和Chrome)打开给定的URL。然而,这些应用程序只是将其视为一个文件url。下面是我正在使用的伪/JSTalk代码:

var safari = [SBApplication applicationWithBundleIdentifier:@"com.apple.Safari"];
var url = [NSURL URLWithString:@"http://apple.com/"];
[safari open:url]; // results in opening "file:///http/::apple.com:"

有什么提示吗?用sdp(sdef/Applications/Safari.app | sdp-fh--basename“Safari”)创建一个Safari.h文件对查看我能做什么并没有多大帮助。

只需阅读您希望使用多个浏览器打开URL即可。因此,我的回答在这里毫无帮助:

我建议让NSWorkspace打开URL:

// make an URL
NSURL *someUrl = [NSURL URLWithString:@"http://my.server.vom/" ];

if ([[NSWorkspace sharedWorkspace] openURL:someURL]) {
   NSLog(@"Fine. URL opened.");
} else {
   // shouldn't happen
}

关于您的问题:您是否尝试将字符串传递给Safari,而不是NSURL?

强制用户使用特定浏览器确实很糟糕。