通过UIActivityViewController与其中的数据共享文件

时间:2016-10-23 07:40:26

标签: ios swift swift3 xcode8 uiactivityviewcontroller

我想要共享一个具有此结构值的字典: 一些字符串值,videoData:Data,imageData:Base64。我创建了它,但是UIActivityViewController无法共享它。

 static func exportData(video:Video) -> URL{
    let videoData = try! Data(contentsOf: WebRequest.getDataPathwithFile(fileName: video.VideoID))
    let image = UIImage(contentsOfFile: WebRequest.getDataPathwithFile(fileName: video.VideoID + ".jpg").path)
    let imageData = UIImageJPEGRepresentation(image!, 1)?.base64EncodedString()

    let content:[String:Any] = ["title":video.Title,"id":video.VideoID,"duration":video.Duration,"viewcount":video.ViewCount,"data":videoData,"img":imageData]
    let saveFileURL = WebRequest.getDataPathwithFile(fileName: video.VideoID + ".bcd")
    (content as NSDictionary).write(to: saveFileURL, atomically: true)
    return saveFileURL

}

我做得对吗?我想通过Airdrop分享它,其他用户可以得到它,然后他们的iOS设备上的应用程序可以识别它并打开它(之前我写过ImportData函数)

我在Xcode 8中使用Swift3。

1 个答案:

答案 0 :(得分:0)

对于遇到此问题的任何人,这将适用于此更改的代码:

let imageData = try! Data(contentsOf: WebRequest.getDataPathwithFile(fileName: video.VideoID + ".jpg"))

您应该直接通过以下方式从Image获取数据:

Data(contentsOf:)