Вопрос

Мотивация для моего вопроса является следующий документ, который описывает, как Mail.App может быть интегрирован с помощью ScriptingBridge:

http://developer.apple.com/mac/library/samplecode/sbsendemail/introduction/intro.html.

Я пытался применить аналогичную технику с Entourage, но не смогла получить никаких результатов до сих пор. Я понимаю, что использование AppleScript поможет мне решить мою проблему, а Machech.com имеет обширную документацию для этого.

Но я нахожу эту технику ScriptingBridge элегантным и хочу понять, почему она не работает для меня с окружением.

Самая большая проблема, кажется, моя неспособность создавать классы сценариев на основе их имен, так как это происходит по почте, потому что Entourage имеет другой интерфейс, чем почта, поскольку их заголовки указывают.

Может ли кто-нибудь, пожалуйста, скажите мне, что мне не хватает, или предоставляю любой намек на то, почему это не будет работать?

Я также добавляю образец кода

`

MicrosoftEntourageApplication * mail = [SBApplication
applicationWithBundleIdentifier:@"com.Microsoft.Entourage"];
MicrosoftEntourageOutgoingEmailMessage * emailMessage = 
[[[mail classForScriptingClass:@"outgoing message"] alloc]
initWithProperties:
[NSDictionary dictionaryWithObjectsAndKeys:
@"my sample subject", @"subject",
@"my sample body", @"content",
nil]];

//then i create a set of recipients and try to use "to recipient" as the string scripting class id, but MicrosoftEntourageRecipient is returned as nil 

MicrosoftEntourageRecipient * theRecipient =
[[[mail classForScriptingClass:@"to recipient"] alloc]
initWithProperties:
[NSDictionary dictionaryWithObjectsAndKeys:
@"johndoe@adobe.com", @"address",
nil]];

`

Я пытаюсь сделать простую работу, я даже не сосредоточусь с этой задачей, которую я должен делать сейчас.

Я новичок какао (и готов учиться), пожалуйста, оправдывайте синтаксические наивности и выделите их в примерном коде, в дополнение к ответу на мой вопрос.

С уважением,

Субпаранима

Это было полезно?

Решение

Несколько вещей:

  1. Если вы застряли, сначала выясните, как это сделать в AppleScript. Это то, что используют большинство прикладных писателей (т.е. люди, которые лучше всего могут помочь вам) и какую практически все документацию написано. Реально, если вы хотите сделать много сценариев приложений, вам действительно нужно изучить AppleScript (так же, как вам действительно нужно забрать немного OBJC для использования какао из Python, Ruby и т. Д.).

  2. Сценарный мост Clunky, запутанный и склонный к проблемам совместимости приложений, поэтому перевод работает Applecript Code к этому можно сложно, если не невозможно, в зависимости от приложения вы нацеливаете, команды, которые вы используете, и так далее. Из памяти я думать Entourage - это одно из приложений, которые он поезжает, в этом случае вам удачи, если вы не прибегаете к использованию необработанных кодов событий Apple. Другие варианты есть objc-appscript. (M'Baby), который гораздо менее склонен к таким проблемам, и applescriptobjc (10,6+), который позволяет вызовевать классы OBJC непосредственно из AppleScript и Vice-Versa.

  3. Вы смотрели на Csmail.?

  4. Entourage уходит в офисе 2010 года в пользу Outlook, поэтому вы можете не захотеть вкладывать огромное время, выяснение того, как писать SB-код в любом случае.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top