scriptingbridgeを介してMail.appから添付ファイルを取得しようとしています。次のコードを使用して、受信トレイのメッセージにアクセスしています。
MailApplication *mailApp = [SBApplication applicationWithBundleIdentifier:@"com.apple.mail"];
MailMailbox *inbox = [mailApp inbox];
SBElementArray *messages = [inbox messages];
を繰り返すことでSBElementArray
、個々のMailMessage
オブジェクトにアクセスできます。
各MailMessage
オブジェクトには、別のオブジェクトを取得するゲッターがありSBElementArray
、今回はMailMailAttachment
オブジェクトでいっぱいです。
私がそれを置くならば、NSLog(@"count:%lu",mailitem.attachments.count);
それは正しい量の添付ファイルを印刷するので、それは働いています。ファイル名とサイズも正しく印刷されています。
しかし、attachments配列を繰り返し処理して保存しても、何も起こりません。
NSURL *url = [[NSURL new] initFileURLWithPath:@"/Users/usr/Documents/tmp/"];
NSLog(@"count:%lu",mailitem.attachments.count);
for (MailMailAttachment *attachment in mailitem.attachments) {
NSLog(@"name:%@",attachment.name);
NSLog(@"size:%ld",attachment.fileSize);
[attachment saveIn:url as:MailSaveableFileFormatNativeFormat];
}
この方法に関するドキュメントは見つかりませんでした。ヘッダーファイルから、それは言う:
- (void) saveIn:(NSURL *)in_ as:(MailSaveableFileFormat)as; // Save a document.
NSURLはファイルを保存したい場所だと思いますが、私にはわかりませんMailSaveableFileFormat
。ヘッダーファイルで見つけたものを渡しMailSaveableFileFormatNativeFormat
ますが、言ったように、何も起こりません。単純なエラーメッセージでもありません。
また、ディレクトリと完全なファイルパス(パス+ファイル名)を使用してNSURLを初期化しようとしました。同じ結果。
誰かが例を持っていますか?どうすれば保存できますか?
TIA、
ボブ