Копирование изображений .gif в буфер обмена с помощью UIPasteboard через код [iOS]

Я хочу скопировать изображения .gif в буфер обмена, чтобы пользователь мог вставлять эти изображения gif из приложения в почту и т. Д.

Я пытался :-

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://fc05.deviantart.net/fs37/f/2008/283/a/b/KaleidoCoils_animated__gif_by_1389AD.gif"]];
UIPasteboard *pasteBoard=[UIPasteboard generalPasteboard];
[pasteBoard setImage:[UIImage imageWithData:data]];

но копирует в формате .png, а не .gif. Как я могу скопировать изображение .gif с его анимацией в буфер обмена, который можно использовать как параметр вставки в другом приложении?

Приложение https://itunes.apple.com/us/app/animated-3d-emoji+emoticons/id429348043?mt=8 уже делает это.

Пожалуйста помогите.

заранее спасибо


person P.J    schedule 16.04.2013    source источник


Ответы (1)


Я нашел решение для того же: -

Это мой код, который мне помог: -

@import MobileCoreServices;

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://fc05.deviantart.net/fs37/f/2008/283/a/b/KaleidoCoils_animated__gif_by_1389AD.gif"]];
UIPasteboard *pasteBoard=[UIPasteboard generalPasteboard];
[pasteBoard setData:data forPasteboardType:(__bridge NSString *)kUTTypeGIF];

@"com.compuserve.gif" поступает из http://www.escape.gr/manuals/qdrop/UTI.html < / а>

Надеюсь, это кому-то поможет ... :)

person P.J    schedule 16.04.2013
comment
Спасибо, это полезно! - person CodeBrew; 19.10.2013
comment
HI @ P.J, это решение работает нормально. Но преобразование URL-адреса в NSData занимает больше времени. Ты хоть представляешь, как его поднять ?? - person Ramakrishna; 22.10.2016