2015-02-02 5 views
5

Как известно, с запуском ios 8 яблоки позволяют настраивать расширение клавиатуры. В дополнение к клавиатуре мы можем отправлять изображения, gif и т. Д. В SMS с помощью Copy image to clipboard.codeКак отправить отправку аудиофайлов через iMessage ios 8

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; 
NSData *data= UIImagePNGRepresentation([UIImage imageNamed:@"so_close_disappointed_meme.png"]); 
[pasteboard setData:data forPasteboardType:@"public.png"]; 

Теперь я пытаюсь отправить аудиофайл в Шеззаде как эта функция reference .don't знаю яблоко позволит отправить аудио в Шеззаде? .so для я попытался выше подход, но он не показал пасты вариант для аудио в окне SMS.

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; 
NSString *path = [[NSBundle mainBundle] pathForResource:@"tune"ofType:@"mp3"]; 
NSURL *url = [[NSURL alloc] initWithString:path]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
[pasteboard setData:data forPasteboardType:@"public.mp3"]; 

Любой может предложить мне, как мы можем отправить аудиофайл с помощью пользовательского расширения клавиатуры. Возможно ли это?

+0

Я никогда не знал, что это возможно на устройствах iOS, но это звучит очень круто! – PMARINA

ответ

10

Я считаю, вы могли бы прикрепить файл к MFMessageComposeViewController. Вот как это сделать: documentation link.

Последующие шаги для этого.

  1. Проверьте, если файл может быть отправить с помощью файла ИМП с помощью + (BOOL)isSupportedAttachmentUTI:(NSString *)uti
  2. Find File ИМП. то есть путь к файлу
  3. Приложить файл MFMessageComposeViewController используя - (BOOL)addAttachmentData:(NSData *)attachmentData typeIdentifier:(NSString *)uti filename:(NSString *)filename

В описании для метода говорит

Этот метод особенно полезен, когда вложение вы хотите добавить в сообщение не имеют представление файловой системы. Это может быть, например, для программно составленного аудиовизуального контента.

Примечание: Вам придется конвертировать аудио файлы в NSData

+0

Я пробовал выше подход для отправки аудиофайлов напрямую через SMS, но до сих пор не достиг желаемого результата, но он очень помогает мне, и я надеюсь, что после бит-исследований я получу желаемый результат. – jamil

+0

Просто убедитесь, что iMessage включен и связан с AppleID. Даже я мог бы попытаться создать пример, если время позволяет мне :). Удачи –

0

MFMessageComposeViewController не является решением в этом случае. Пользовательское расширение клавиатуры не должно представлять новый контроллер представлений, а просто вставлять аудиофайл в картон. Мне нужен быстрый код, который работал для меня

let path = NSBundle.mainBundle().pathForResource("audio", ofType:"wav") 
let fileURL = NSURL(fileURLWithPath: path!) 
let data = NSData(contentsOfURL: fileURL) 
let wavUTI = "com.microsoft.waveform-audio" 
UIPasteboard.generalPasteboard().setData(data!, forPasteboardType: wavUTI) 
+0

это работает для вас? @Peter Argany – Maul