Итак, я пробовал изучить Swift достаточно хорошо, чтобы воссоздать мои программы в нем, не работал так хорошо, и я не очень далеко. Пробовал запускать мои C++-функции из источника Obj-C++, вызывая функции, не работал, и проект отказался открывать снова после первого закрытия. Во-первых, я не считаю объектно-ориентированное программирование очень интуитивным, поэтому я бы хотел избежать Obj-C.Как запустить Workflow/Service Automator из приложения Cocoa?
У меня уже есть автономный рабочий процесс Automator и служба (то же самое), которая получает нужные мне программы, отображает подтверждение, запускает программу в окне терминала с помощью stdout и выводит уведомление перед выходом. Это все, что мне нужно, чтобы сделать, когда нажата конкретная кнопка.
Так как же я могу связать эту кнопку с автоматом func run()
блок в Swift? Я знаю команду, которую нужно использовать, но, как я уже сказал, я не считаю объектно-ориентированное программирование очень интуитивным, поэтому мне нужно знать контекст, в котором эта функция используется. Может ли следующий блок быть достаточным на практике или ему понадобится дополнительная спецификация?
@IBOutlet weak var testButton(NSButton!)
@IBAction testButton(_ sender: AnyObject)
{
let guard Bundle.main.path(forName: "test",forType:"workflow")
else
{
print("Could not find 'test.workflow'")
return
}
let URL="//location of file"
class func run(at: URL, withInput: nil)
}
Я пропустил что-то о том, как это сделать или это достаточно выше? Во-вторых, кто-то может указать пример формата файла, где файл находится в папке «Ресурсы»? Также будет ли класс class
оставаться в классе слов или я должен указать собственный класс? Может кто-нибудь, пожалуйста, дайте мне реальный пример этого блока/концепции на практике?