Пользовательский значок IOS Вложение электронной почты

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

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

Спасибо за помощь, Мартин


person Martin Kapfhammer    schedule 22.06.2011    source источник
comment
это было давно, но вы нашли ответ?   -  person Mr Wolf    schedule 30.12.2012


Ответы (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>

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

person brynbodayle    schedule 08.09.2012