我按照这个链接描述的步骤注册了自己的自定义CFBundleDocumentTypes文件类型:如何在iOS中注册自定义文件类型
一切都正常工作,但是当我通过MFMailComposeViewController发送电子邮件时,仍然会显示普通的默认附件图标而不是我的。当我接收邮件时,会显示我的图标。是否有可能在发送邮件时更改默认的MFMailComposeViewController附件图标?
感谢您的帮助, 马丁
我按照这个链接描述的步骤注册了自己的自定义CFBundleDocumentTypes文件类型:如何在iOS中注册自定义文件类型
一切都正常工作,但是当我通过MFMailComposeViewController发送电子邮件时,仍然会显示普通的默认附件图标而不是我的。当我接收邮件时,会显示我的图标。是否有可能在发送邮件时更改默认的MFMailComposeViewController附件图标?
感谢您的帮助, 马丁
当您添加附件时,是否正确指定了自定义文件类型的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>