Приложение IOS Custom Icon Email - PullRequest
6 голосов
/ 22 июня 2011

Я зарегистрировал свой собственный тип файла CFBundleDocumentTypes, как описано в этой ссылке: Как зарегистрировать пользовательский тип файла в iOS

Все работает нормально, за исключением того, что когда я отправляю почту через MFMailComposeViewController, все еще остается этот простой значок вложения по умолчанию вместо моего. Когда я получаю письмо, отображается моя иконка. Можно ли изменить значок MFMailComposeViewController-attachment по умолчанию при отправке почты?

Спасибо за вашу помощь, Martin

1 Ответ

1 голос
/ 08 сентября 2012

Когда вы добавляете вложение, вы правильно указываете тип 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>

Источник фрагмента кода: Дэмиен ДеВиль

...