Pregunta

Estoy llamando a un AppleScript desde dentro de mi aplicación. El fragmento relevante de mi código parece así:

-(void)sendMail:(NSString*)addressStr
    {
    NSString *scriptString = <snip>
    @"end tell\n"   
    @"tell b to make new to recipient with properties {address:\"someone@somewhere.com\"}\n"
    @"send b\n"
    @"end tell\n";
    <snip>
}

El script con la dirección de correo electrónico "cableada" se ejecuta perfectamente, pero realmente quiero usar direcciones fuera de nuestra base de datos de la comunidad. Intenté usar un mudable Cadena para el scriptString, luego insertando la dirección pasada en él en un índice exacto (conocido) antes de pasar ScriptString al objeto AppleScript. Pero si elimino (solo) los chars de dirección e intento algo como:

@"tell b to make new to recipient with properties {address:\"\"}\n"
<snip>
[scriptString insertString:addressStr atIndex:556];

... O no se compilará ni proporciona un "intento de mutar objeto inmutable (??) con InsertString: AtIndex:" Error en tiempo de ejecución, dependiendo de lo que intente.

Entonces, o mi sintaxis es incorrecta (p = 0.95), o estoy tratando de hacer lo imposible con AppleScript. ¿Puede alguien ayudarme por favor? Muchas gracias por adelantado :-)

¿Fue útil?

Solución

Necesitas usar [NSString stringWithFormat:@"... %@ ...", @"arg"].

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top