WatchKit WKInterfaceMovie致命错误:在展开Optional值时意外发现nil

时间:2015-11-28 14:26:40

标签: ios xcode swift watchkit

import WatchKit
import Foundation


class InterfaceController: WKInterfaceController {

let video = NSBundle.mainBundle().URLForResource("video", withExtension: "mp4")

@IBOutlet var videoShown: WKInterfaceMovie!

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)

    // Configure interface objects here.
    videoShown.setMovieURL(video!)
}

override func willActivate() {
    // This method is called when watch view controller is about to be visible to user
    super.willActivate()
}

override func didDeactivate() {
    // This method is called when watch view controller is no longer visible
    super.didDeactivate()
}

}

我的代码如上所示,我正在尝试使用WKInterfaceMovie在我的WatchKit应用上的XCode资产文件夹中播放视频,但是当应用加载时我收到此错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

2 个答案:

答案 0 :(得分:0)

问题可能是视频的位置。将文件复制到" WatchKit Extension"文件夹,而不是资产文件夹。

答案 1 :(得分:0)

您收到错误

fatal error: unexpectedly found nil while unwrapping an Optional value

因为,您正在使用

为video.mp4创建网址
let video = NSBundle.mainBundle().URLForResource("video", withExtension: "mp4")

但是当你试图强行打开它时

videoShown.setMovieURL(video!)

系统无法在Watchkit Extension中找到video.mp4文件。

检查下图。 check image

1)确保您已根据图片中的第一个点在watchkit扩展程序中添加了video.mp4文件

2)如果您未在watch中添加video.mp4,请确保为您的视频选中了watchkit扩展程序的复选框。这样,您可以将同一文件添加到多个组(如iOS应用程序)以及观看应用程序,而无需制作同一文件的多个副本。