質問

私の質問の動機は次のドキュメントです。これについては、Mail.AppをScriptingBridgeを使用して統合する方法を説明しています。

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

同様のテクニックも側近に適用しようとしましたが、これまでのところ結果は得られませんでした。 Applescriptを使用すると問題の解決に役立つことを理解しており、Mactech.comにはそのための広範な文書があります。

しかし、私はこのScriptingbridgeテクニックがエレガントであり、なぜそれが私のために機能していないのかを考えたいと思っています。

最大の問題は、ヘッダーが示すようにメールとは異なるインターフェイスを持っているため、メールで発生するように、名前に基づいてスクリプトクラスを作成できないことです。

誰かが私が何を失っているのか教えてくれたり、なぜこれがうまくいかないのかについてのヒントを提供してもらえますか?

サンプルコードも追加しています

`

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を学ぶ必要があります(Python、RubyなどのCocoaを使用するために少しOBJCを拾う必要があるのと同じように)。

  2. スクリプトブリッジはです 不器用で、難読化され、アプリケーションの互換性の問題に陥りやすい, 、そのため、ターゲットにしているアプリケーション、使用しているコマンドなどに応じて、動作するApplescriptコードを不可能ではないにしても扱いにくい場合があります。メモリから、i 考える Entourageは、つまずいたアプリの1つです。この場合、Raw Appleイベントコードの使用に頼らない限り、運が悪いです。他のオプションは次のとおりです objc-appscript (M'Baby)、このような問題にはあまり発生しやすい傾向があり、applescriptobjc(10.6+)があり、OBJCクラスをApplescriptから直接呼び出し、その逆も同様です。

  3. 見たことがありますか csmail?

  4. EntourageはOutle offoreを優先してOffice 2010で消えているので、とにかくSBコードを書く方法を考え出すのに多大な時間を投資したくないかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top