我正在尝试使用UIActivityViewController从我的应用分享视频。以下是我使用的代码:
var url = NSURL(string: path!)!
var activityViewController = UIActivityViewController(activityItems: [url], applicationActivities: nil)
self.presentViewController(activityViewController, animated: true, completion: { () -> Void in })
路径指向有效的.mov文件,因此没有问题。当我呈现活动视图控制器时,我收到错误:提供的未知活动项,其中包含.mov文件的路径,共享选项仅显示AirDrop。
该应用在iOS 8上运行。
有什么想法吗?
编辑我发现当我将视频保存到相机胶卷时。用户可以将照片应用程序与任何应用程序共享。所以我猜这个视频格式并没有错。
答案 0 :(得分:1)
如果电影位于资源包中,则应使用init?(fileURLWithPath path: String, isDirectory isDir: Bool)
。
如果您使用imagePicker控制器选择视频,您可以使用键UIImagePickerControllerMediaURL
从信息词典中获取网址,相应的委托方法为didFinishPickingMediaWithInfo
。
答案 1 :(得分:0)
试试这个:
var activityViewController = UIActivityViewController(activityItems: [path], applicationActivities: nil)
self.presentViewController(activityViewController, animated: true, completion: { () -> Void in })
答案 2 :(得分:0)
我对zip文件有类似的问题,并意识到我传递的url路径是相对的而不是绝对路径。换句话说,UIActivityViewController URL需要前缀file:///
我使用的是相对路径,因为第三方库Objective-Zip需要一个相对路径来创建zip文件。
<强>使用:强>
file:///
私人的/ var /移动/容器/数据/应用/ 63284C22-6E22-4865-965C-3B67F58D0659 / TMP / myfile.zip
不起作用 /private/var/mobile/Containers/Data/Application/63284C22-6E22-4865-965C-3B67F58D0659/tmp/myfile.zip