Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在swift 3中共享mp3文件_Ios_Swift_Mp3_Share - Fatal编程技术网

Ios 在swift 3中共享mp3文件

Ios 在swift 3中共享mp3文件,ios,swift,mp3,share,Ios,Swift,Mp3,Share,我想在收藏视图单元格中长按时共享MP3文件。我写了下面的代码,但它没有返回任何内容。我是说当我给自己发电子邮件的时候。它不包括MP3文件,而且我也看不到WhatsApp部分 let r = NSURL(fileURLWithPath: temp_url!) //var activityItems: [Any] = [temp_url!] let activityViewController = UIActivityViewController(activityItems: [r

我想在收藏视图单元格中长按时共享MP3文件。我写了下面的代码,但它没有返回任何内容。我是说当我给自己发电子邮件的时候。它不包括MP3文件,而且我也看不到WhatsApp部分

 let r = NSURL(fileURLWithPath: temp_url!)
    //var activityItems: [Any] = [temp_url!]
    let activityViewController = UIActivityViewController(activityItems: [r], applicationActivities: nil)
    activityViewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash

    // exclude some activity types from the list (optional)
     let excludeActivities = [UIActivityType.airDrop, UIActivityType.print, UIActivityType.assignToContact, UIActivityType.saveToCameraRoll, UIActivityType.addToReadingList, UIActivityType.postToFlickr, UIActivityType.postToVimeo, UIActivityType.postToFacebook, UIActivityType.message, UIActivityType.postToWeibo]
    activityViewController.excludedActivityTypes = excludeActivities

    // present the view controller
    self.present(activityViewController, animated: true, completion: nil)


    // exclude some activity types from the list (optional)
    activityViewController.excludedActivityTypes = [ UIActivityType.airDrop, UIActivityType.postToFacebook ]

    // present the view controller
    self.present(activityViewController, animated: true, completion: nil)

我用下面的代码解决它

if(temp_url != nil){
let activityViewController = UIActivityViewController(activityItems: [temp_url!], applicationActivities: nil)
        activityViewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash

        // exclude some activity types from the list (optional)
         let excludeActivities = [UIActivityType.airDrop, UIActivityType.print, UIActivityType.assignToContact, UIActivityType.saveToCameraRoll, UIActivityType.addToReadingList, UIActivityType.postToFlickr, UIActivityType.postToVimeo, UIActivityType.postToFacebook, UIActivityType.message, UIActivityType.postToWeibo]
        activityViewController.excludedActivityTypes = excludeActivities

        // present the view controller
        self.present(activityViewController, animated: true, completion: nil)
}

我发现了这篇文章Swift:通过whatsapp共享mp3文件,但它对我也不起作用。那根本没有用。具体地说,详细地说,它是如何对你无效的?很抱歉,我更新了这篇文章。你应该在Swift3Hello中使用URL而不是NSURL,我改成了这个,但运气不好。var audioURL=URLfileURLWithPath:temp\u url!让activityViewController=UIActivityViewControlleractivityItems:[audioURL],applicationActivities:Nil像那样使用强制展开是个坏主意。你是说临时url是这样吗?是的。使用强制展开通常不是一个好主意,因为如果基础可选项包含nil,则会崩溃。如果nil操作符在main中声明它,那么我称之为崩溃,所以我在其他3个函数中使用它。我不知道没有可选项怎么申报。可选项可以。使用强制展开选项!这通常是个坏主意,尤其是当你不明白它的作用时