Mar*_*mer 6 email iphone cfbundleidentifier ios mfmailcomposer
我注册了自己的自定义CFBundleDocumentTypes文件类型,如以下链接所述:如何在iOS中注册自定义文件类型
一切正常,除非我通过MFMailComposeViewController发送邮件时仍然有这个普通的默认附件图标而不是我自己的.当我收到邮件时,会显示我自己的图标.发送邮件时是否可以更改默认的MFMailComposeViewController附件图标?
谢谢你的帮助,马丁
添加附件时,您是否为自定义文件类型正确指定了 mime 类型?也许您需要将 UTI 显式转换为 MIME 类型,然后在使用 MFMailComposeViewController 方法时指定:
- (void)addAttachmentData:(NSData*)attachment mimeType:(NSString*)mimeType fileName:(NSString*)filename
Run Code Online (Sandbox Code Playgroud)
将 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;
Run Code Online (Sandbox Code Playgroud)
确保添加并导入以下框架:
#import <MobileCoreServices/MobileCoreServices.h>
#import <CoreServices/CoreServices.h>
Run Code Online (Sandbox Code Playgroud)
代码片段来源:Damien DeVille