ios - WatchOS - presentMediaPlayerControllerWithURL 不播放视频

标签 ios swift video watchkit

我正在尝试实现一个小型应用程序,您可以在其中在 watch 的后台下载 MP4 视频,并在下载后播放。

使用 WKInterfaceMovie.setVideoURL 可以很好地处理 https 链接,但我想自定义加载 UI。

下载视频文件后,我将其移动到共享组:

originalURL : Optional("/private/var/mobile/Containers/Data/PluginKitPlugin/FD57E33D-4657-497B-9823-A53D289CDF0B/Library/Caches/com.apple.nsurlsessiond/Downloads/com.test.TestWatchVideo.watchkitapp.watchkitextension/CFNetworkDownload_jKLIrU.tmp")

destinationURL : Optional("/private/var/mobile/Containers/Shared/AppGroup/018DA2BA-EB53-45DA-B3EA-792D4879E601/Library/Caches/SampleVideo_360x240_1mb.mp4")

我正在使用 removeItemAtURL(如果旧文件存在)然后使用 copyItemAtURL 移动原始文件。

=> 但是 在尝试 presentMediaPlayerControllerWithURL 时,它会在播放视频之前关闭并说:

Error: Error Domain=com.apple.watchkit.errors Code=4 "The operation could not be completed" UserInfo={NSLocalizedFailureReason=An unknown error occurred (1), NSUnderlyingError=0x16d71f20 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}, NSLocalizedDescription=The operation could not be completed}

我在 StackOverflow 和论坛上阅读了很多主题,但没有一个对我有帮助。

谢谢!

最佳答案

OK,这是WatchKit App的App Group Capabilities的问题;该应用程序具有良好的权利,WatchKit App Extension 也可以,但 WatchKit App 没有 => 仅在尝试播放视频时不允许操作。

无论您的配置如何,这都适用于模拟器。

关于ios - WatchOS - presentMediaPlayerControllerWithURL 不播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39407056/

相关文章:

ios - 是否可以将Unity与UIKit混合使用?

ios - 如何像 Evernote 应用一样从 iPad 屏幕底部显示 UIView

ios - session 身份验证 token Swift

ios - 通过 UIActivityViewController 共享 csv 文件

ios - 使用 CloudKit 保存记录时没有这样的文件或目录

ios - 使用适用于 iOS 的 SDK 在 Linkedin 上分享不起作用

video - 对于修改 MPEG-2 Part 4 视频,我可以使用哪种最简单的库/方法?

ios - 如何在 Swift 中按图像大小调整 UIImageView 的大小

html - Chrome 中的视频标签覆盖在顶部

linux - 将视频编解码器集成到 gstreamer 或 vlc 中