Вставка изображения в смс через UIPasteBoard

То, что я пытаюсь сделать, это вставить некоторые изображения из моего приложения в SMS.

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSString *imagefile = [[NSBundle mainBundle] 
                       pathForResource:@"imagename"]
                       ofType:@"png"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:imagefile];

if (fileExists){    
    UIImage *ui = [[UIImage alloc] initWithContentsOfFile:imagefile];
    pasteboard.image = ui;
    [ui release];
}

В режиме отладки я обнаружил, что изображение существует, и оно уходит в монтажный картон (я проверил его, представляя представление изображения с изображением из монтажного листа, и оно необходимое).

После сохранения в буфер обмена звоню

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:"]];

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

3 ответа

Решение

Действие "Вставить" будет показано только в том случае, если доска вставки содержит поддерживаемый элемент для текущего объекта (здесь текстовое поле), к которому вы прикоснулись. Похоже, вы добавляете только изображение в разделочную доску. Текстовое поле не поддерживает изображения. Таким образом, действие "Вставить" не появляется.

Этот код работает нормально:

UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"imageName"]];
[[UIPasteboard generalPasteboard] setImage:image];

У меня это работает. Я просто использую setData для предоставления ему необработанных данных, а затем устанавливаю тип данных с помощью forPasteboardType. Прямо под вашим

    if (fileExists){

Попробуй это

    NSData *data = [NSData dataWithContentsOfFile:imagefile];
    [pasteboard setData:data forPasteboardType:@"public.png"];            

Вы можете посмотреть различные UTI PasteboardType здесь.

Другие вопросы по тегам