Ios 通过sharesheet共享音频文件
我正在尝试使用iOS的共享表功能共享音频文件。我无法将音频文件放入共享页以进行共享。就目前而言,电子邮件中没有添加任何文件和附件或音频文件(例如) 我有以下检索音频文件的代码。我可以使用Ios 通过sharesheet共享音频文件,ios,swift,Ios,Swift,我正在尝试使用iOS的共享表功能共享音频文件。我无法将音频文件放入共享页以进行共享。就目前而言,电子邮件中没有添加任何文件和附件或音频文件(例如) 我有以下检索音频文件的代码。我可以使用MFMailComposeViewController将其显式地作为电子邮件发送,但我希望将其“抛出”到共享页,以允许用户上传到email/dropbox/google驱动器文件 这可能吗 let objectsToShare: NSMutableArray = [] let docsDir =
MFMailComposeViewController
将其显式地作为电子邮件发送,但我希望将其“抛出”到共享页,以允许用户上传到email/dropbox/google驱动器文件
这可能吗
let objectsToShare: NSMutableArray = []
let docsDir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
let soundFilePath = (docsDir as NSString).stringByAppendingPathComponent(fileName)
let fileManager = NSFileManager.defaultManager()
let fileContent = fileManager.contentsAtPath(soundFilePath)
objectsToShare.addObject(fileContent!)
if let objects = objectsToShare as [AnyObject]? {
let activityVC = UIActivityViewController(activityItems: objects, applicationActivities: nil)
if let subject = noteTitle.text as String? {
activityVC.setValue(subject, forKey: "subject")
}
self.presentViewController(activityVC, animated: true, completion: nil)
}
提前感谢:)您将文件内容放入objectsToShare
中<代码>活动VC可以共享内容,但不知道它是要共享的文件
我想你需要一个新的。像这样未经测试的代码:
var dic:UIDocumentInteractionController? // has to be instance variable not buried in a method, or the dic is deallocated before it can open the file.
func shareFile(filePath:String, fileName: String, from:UIBarButtonItem) {
let url = NSURL(fileURLWithPath: filePath)
dic = UIDocumentInteractionController(URL:url)
dic?.UTI = fileName
dic?.presentOptionsMenuFromBarButtonItem(from, animated: true)
}
如果将
dic
设置为shareFile
方法中的局部变量,则它往往会在文件打开之前被释放,从而导致无法获取文件大小(null)
错误。改为将其作为类的实例变量。谢谢您的建议。我明天会查一查,然后再给你回复。这足以为我指明正确的方向。非常感谢:)