2016-08-22 13 views
12

Tworzę aplikację iMessage i próbuję wysłać plik audio lub wideo do innego użytkownika.Jak wysłać plik audio z obrazem i podpisem w aplikacji iMessage na iOS 10?

Plik wideo działa i wygląda dobrze, ale nie działa zgodnie z oczekiwaniami z plikiem audio.

Mój obecny kod jest:

let destinationFilename = mp3FileNames[i] 
let destinationURL = docDirectoryURL.appendingPathComponent(destinationFilename) 

if let conversation = activeConversation { 

    let layout = MSMessageTemplateLayout() 
    layout.image = UIImage.init(named: "audio-x-generic-icon") 
    layout.mediaFileURL = destinationURL 
    layout.caption = selectedSongObj.name 

    let message = MSMessage() 
    message.layout = layout 
    message.url = URL(string: "emptyURL") 

    conversation.insert(message, completionHandler: nil) 


    return 
} 

Wygląda layout.mediaFileURL = destinationURL nie dodaje żadnego pliku do wiadomości.

I gdy próbuję wysłać plik z wyżej code.It wygląda jak pokazano poniżej:

enter image description here

Wygląda w porządku, ale nie ma dźwięku do gry, ale gdy próbuję w ten sposób:

let destinationFilename = mp3FileNames[i] 
let destinationURL = docDirectoryURL.appendingPathComponent(destinationFilename) 

if let conversation = activeConversation { 

    conversation.insertAttachment(destinationURL!, withAlternateFilename: nil, completionHandler: nil) 
    return 
} 

i wynikają z powyższego kodu jest:

enter image description here

Mogę odtwarzać dźwięk dla tej wiadomości, ponieważ tam jest. Ale problem z tą wiadomością polega na tym, że nie mogę dołączyć do niej żadnego obrazu lub podpisu.

Jak dołączyć obraz i plik audio do tej samej wiadomości.

A jeśli to możliwe zamiast obrazu, czy mogę dodać GIF?

Każda pomoc byłaby bardzo ceniona, dziękuję.

Odpowiedz

8

Nie należy stosować GIF, iMessage rozszerzenia obsługuje również PNG i JPEG formatów graficznych. Zalecany rozmiar obrazu to 300x300 punktów w skali @ 3x.

Jeśli MSMessageTemplateLayout „s image właściwość ma wartość non-nil następnie mediaFileURL właściwość jest ignorowana. Dlatego nie można wysyłać obrazu i pliku audio w tym samym czasie. Docs

+0

Jeśli nie mogę, dźwięk będzie wyglądał brzydko. –

+1

Możesz mieć nadzieję, że jest to tymczasowe ograniczenie. Ponieważ iOS 10 jest wciąż w fazie beta, wszystko może się zmienić. – azimov

+0

Możesz zgłosić zgłoszenie błędu/żądanie funkcji, jeśli uważasz, że brakuje tej umiejętności. – bshirley