1

我遇到了无法从 mainBundle 访问视频资产的问题。我正在使用 XCode 7 和 Swift 2.0。我写了一个非常简单的测试应用程序。

var objects = [String]()

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let fm = NSFileManager.defaultManager()
        let path = NSBundle.mainBundle().resourcePath!
        let items = try! fm.contentsOfDirectoryAtPath(path)

        for item in items {
                print ("item = \(item)")
                objects.append(item)
        }

    }

}

我的应用中有四个媒体资产:i) testVideo.m4v ii) benbeijing.mov iii) TestVideoCopy.m4v 和 iv) benbeijing2.mov。

当我运行程序时,我得到以下输出。

item = Base.lproj
item = benbeijing.mov
item = benbeijing2.mov
item = Frameworks
item = Info.plist
item = mainBundleTests
item = PkgInfo

换句话说,没有列出 2 个视频媒体项。

我玩过 mainBundle 文件夹中的标题、后缀和位置,但我一生都无法弄清楚为什么找不到这些项目。任何帮助将非常感激。

4

1 回答 1

1

我尝试运行与您正在运行的代码完全相同的代码。我可以看到我的包中存在的所有文件都被打印出来了。

但是,我假设您可能错过了将这些文件添加到目标。这也可能是一个原因。

您能否确认是否已将添加到 bundle 中的所有文件添加到相应的目标?

将文件添加到目标

于 2015-10-14T16:56:58.583 回答