Configuración de variables NSUserAutomatorTask sin requerir que Automator Workflows declare esa variable

Estoy usandoNSUserAutomatorTask para lanzar un.workflow archivo, creado a través de la aplicación Automator en macOS 10.13.

Estoy pasando variables al flujo de trabajo a través devariables propiedad

https: //developer.apple.com/documentation/foundation/nsuserautomatortask/1418099-variable

La aplicación principal está protegida. El script se encuentra en la.applicationScriptsDirectory y se ejecuta con éxito cuando no se establecen variables, o cuando las mismas variables se establecen desde la aplicación y se declaran en el flujo de trabajo.

if let workflow = try? NSUserAutomatorTask(url: url) {

    workflow.variables = ["randomVariable": "value"] // NOTE

    workflow.execute(withInput: nil) { (value, error) in
        if let error = error {
            print(error) // No variable named "randomVariable"
        }
    }
}

El flujo de trabajo no se ejecuta con el error:

Ninguna variable llamada "randomVariable"

in embargo, si edito el flujo de trabajo y agrego una variable para que coincida con el conjunto de código, todo está bien.

Ya no obtengo el error y el flujo de trabajo se ejecuta correctamente:

Esto es un problema porque quiero pasar múltiples datos como variables a cualquier flujo de trabajo potencial, y para que cada flujo de trabajo decida individualmente manejar cada parámetro necesario.

No quieroexigi que cada flujo de trabajo declara las variables que mi aplicación opcionalmente proporcionar.

Tenga en cuenta que en mi flujo de trabajo de muestra la variable nunca se usa. No quiero el requisito adicional de que se declare.

¿Hay alguna forma de evitar que cada flujo de trabajo declare las variables que pasa mi aplicación al ejecutar el flujo de trabajo?

O, ¿hay alguna manera de inspeccionar qué variables ha declarado un flujo de trabajo? Entonces solo podría pasar los que realmente usa el flujo de trabajo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta