如何在iOS mainBundle中访问“丢失”的媒体资产?

时间:2015-10-14 16:42:11

标签: ios swift2 mainbundle

我遇到了无法从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文件夹中玩过标题,后缀和位置,但在我的生活中无法弄清楚为什么找不到这些项目。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

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

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

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

To add the file to target