我想从PHPhotoLibrary创建的视频资产中获取URL,以便与其他应用共享,而不是将视频保存到设备的相机胶卷中。现在,我可以用另一种方法来做,但是PHPhotoLibrary添加了一些额外的数据,使共享视频在所有应用之间的显示方向正确。我知道这是因为,当视频保存到我的相机胶卷中时,在查看照片和共享到其他应用程序时都显示正确。直接从我的应用共享时,我现在拥有的方式无法在所有应用之间正确显示。
我现在拥有的是:
let urlData = NSData(contentsOf: self.fileURL)
if urlData != nil {
let paths:[String] = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let docDirectory:String = paths[0]
let filePath:String = "\(docDirectory)/tmpVideo.mp4"
urlData?.write(toFile: filePath, atomically: true)
let videoLink = NSURL(fileURLWithPath: filePath)
let objectsToShare:[NSURL] = [videoLink]
let activity: UIActivityViewController = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
DispatchQueue.main.async {
UIApplication.topViewController?.present(activity, animated: true, completion: nil)
}
}
this post comes close除了位于Obj-C中而不是Swift之外,不同之处在于它仅使URL格式化为Instagram。我只想要像上面代码中的一般系统URL。
我已经重新格式化了链接中的代码,但是不确定如何使用localIdentifier或根本不需要它。