Как использовать ScriptingBridge, чтобы сообщить Safari открыть URL-адрес в новом окне?

У меня есть приложение Objective-C, которое использует ScriptingBridge для управления Safari. Это работает, но у меня возникают проблемы при написании кода для новой возможности - сказать Safari открыть URL в новом окне. Вот AppleScript, который делает то, что я хочу:

tell application "Safari"
make new document at end of documents
set URL of document 1 to "http://www.apple.com/"
end tell

и вот что я надеялся получить эквивалентный код с использованием ScriptingBridge:

NSString *appName = @"com.apple.Safari";
safariApp = [SBApplication applicationWithBundleIdentifier:appName];

SafariDocument *doc = [[[safariApp classForScriptingClass:@"document"] alloc] init];
[[safariApp documents] addObject:doc];
doc.path = @"http://www.ford.com";

Когда я выполняю последний код, Safari открывает новое окно, но в этом окне отображается моя домашняя страница, а не www.ford.com.

В чем дело?

1 ответ

Вот решение:

NSDictionary *theProperties = [NSDictionary dictionaryWithObject:@"http://www.ford.com" forKey:@"URL"];
SafariDocument *doc = [[[safariApp classForScriptingClass:@"document"] alloc] initWithProperties:theProperties];
[[safariApp documents] addObject:doc];
[doc release];
Другие вопросы по тегам