1

Как передать аудиофайл в приложении iOS, написанном в swift. (Поделись я имею в виду, когда пользователь нажал кнопку совместного доступа после записи там звука, он может отправить кому-то аудиофайл, или, возможно, поместить его в приложение soundcloud или подобное.)Как поделиться аудио-файлом в приложении с помощью Swift 3?

Могу ли я использовать нижеследующее для достижения этого ?

  • UIActivityViewController
  • UIDocumentInteractionController

Мое приложение делает аудиозапись человека, которому они должны быть в состоянии разделить, но я искал и искал и не смог найти пример кода как это сделать (но я знаю, что это возможно).

ответ

0

Во-первых, в верхней части класса контроллера представления, в котором обмен состоится положить заявление на UIDocumentInteractionController:

// В верхней части вашего класса вы положили

var controller = UIDocumentInteractionController() 

// Затем связать в IBAction на кнопку отправить в нижней строке что-то вроде этого:

@IBAction func SHARE(_ sender: Any) { 
let dirPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask, true)[0] as String 
    // Here we've used user defaults to store the name of an audio recording, but you could use a variable 
    let recordingName = UserDefaults.standard.value(forKey: "recordingName") as! String 
    let pathArray = [dirPath, recordingName] as [String] 
    let filePathString: String = pathArray.joined(separator: "/") as String 
    var path = Bundle.main.path(forResource: filePathString as! String?, ofType: "wav") 

    controller = UIDocumentInteractionController(url: NSURL(fileURLWithPath: filePathString as! String) as URL) 

    let button = sender as! Any 
    let view = self.view 
    controller.presentOpenInMenu(from: CGRect.zero, in: self.view, animated: true)  
} 
3

Swift 3.x:

 let activityItem = URL.init(fileURLWithPath: Bundle.main.path(forResource: "fileName", ofType: "mp3")!) 

     let activityVC = UIActivityViewController(activityItems: [activityItem],applicationActivities: nil) 
     activityVC.popoverPresentationController?.sourceView = self.view 

     self.present(activityVC, animated: true, completion: nil) 
Смежные вопросы