Как указали dougscripts (+1), но я хотел немного прояснить, почему синтаксис Applescript с одним вкладышем в NSAppleScript, который пробовал OP, не работал.
И, честно говоря, я предложил редактирование, в котором проиграли три-два
Код NSAppleScript ОП:
NSAppleScript *scriptURL= [[NSAppleScript alloc] initWithSource:@"tell application \"Safari\" if it is running to return URL of front document as string"];
Не работает, потому что синтаксис неправильный.
Правильный синтаксис должен быть:
NSAppleScript *scriptURL= [[NSAppleScript alloc] initWithSource:@"tell application \"Safari\" to if it is running then return URL of front document as string"];
В части кода, выделенного жирным шрифтом ниже, есть два изменения.
\ "Safari \" до , если он работает , тогда возврат URL