Я хочу прикрепить изображение к MMS, на iOS7. Я написал следующий код:
MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc] init];
messageController.messageComposeDelegate = self;
NSData *imgData = [NSData dataWithContentsOfFile:@"blablabla"];
BOOL didAttachImage = [messageController addAttachmentData:imgData typeIdentifier:@"public.data" filename:@"image"];
if (didAttachImage)
{
// Present message view controller on screen
[self presentViewController:messageController animated:YES completion:nil];
}
else
{
UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Failed to attach image"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[warningAlert show];
return;
}
Проблема в том, что когда появляется экран SMS, он не распознает изображение и не может его отправить. Я вижу что-то вроде этого:
Я считаю, что это как-то связано либо с imgData, который я отправляю, либо с typeIdentifier.
Примечание. Я перепробовал почти все возможные идентификаторы типов: @"public.data", @"public.image", @"public.item", ... и т. д. Ни один из них не сработал.
Кто-нибудь может мне помочь? Какой тип идентификатора вы используете? Тестирую на iPhone 5, iOS 7.0.2.
Спасибо.
РЕШЕНИЕ:
По указанию Грега это решило мою проблему: установите имя файла как @ «image.png», а typeIdentifier — как kUTTypePNG.
[messageController addAttachmentData:imgData typeIdentifier:(NSString *)kUTTypePNG filename:@"image.png"];
Спасибо, Грег.