我试图从Mail.app通过脚本桥检索附件。我正在使用以下代码来访问我的收件箱邮件。通过ScriptingBridge从Mail.app保存附件(目标C)
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);
它会打印正确数量的附件。文件名称和大小也正确打印。
但是,当我迭代附件数组并保存它时,什么都不会发生。
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,
鲍勃
谢谢,但没有奏效。我发现我正在初始化NSURL错误...顺便说一句,在我的Mail.h中,它有MailSaveableFileFormatNativeFormat ='item'/ *原始格式* / – 2012-07-14 14:48:58