iOS自定义图标电子邮件附件

6

我按照这个链接描述的步骤注册了自己的自定义CFBundleDocumentTypes文件类型:如何在iOS中注册自定义文件类型

一切都正常工作,但是当我通过MFMailComposeViewController发送电子邮件时,仍然会显示普通的默认附件图标而不是我的。当我接收邮件时,会显示我的图标。是否有可能在发送邮件时更改默认的MFMailComposeViewController附件图标?

感谢您的帮助, 马丁


这是很久以前的事情了,但你找到答案了吗? - OWolf
1个回答

1

当您添加附件时,是否正确指定了自定义文件类型的MIME类型?也许您需要显式地将您的UTI转换为MIME类型,然后在使用MFMailComposeViewController方法时指定它:

- (void)addAttachmentData:(NSData*)attachment mimeType:(NSString*)mimeType fileName:(NSString*)filename

将UTI转换为MIME类型

NSString *filePath = ... // file path for your file of a custom type.
CFStringRef fileExtension = (__bridge CFStringRef)[filePath pathExtension];
CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL);
CFStringRef MIMEType = UTTypeCopyPreferredTagWithClass(UTI, kUTTagClassMIMEType);
CFRelease(UTI);
NSString *MIMETypeString = (__bridge_transfer NSString *)MIMEType;

请确保添加并导入以下框架:

#import <MobileCoreServices/MobileCoreServices.h>
#import <CoreServices/CoreServices.h>

代码片段来源:Damien DeVille

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接