ios - 如何访问 iOS mainBundle 中的 'lost' 媒体 Assets ?

标签 ios swift2 mainbundle

我遇到了无法从 mainBundle 访问视频 Assets 的问题。我正在使用 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 文件夹中的标题、后缀和位置,但终究无法弄清楚为什么找不到这些项目。任何帮助将不胜感激。

最佳答案

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

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

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

To add the file to target

关于ios - 如何访问 iOS mainBundle 中的 'lost' 媒体 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131044/

相关文章:

android - 如何在代号为 one 的应用程序中从剪贴板读取字符串?

swift - Realm 无法使用 'add' 类型的参数列表调用 '(Person)'

swift - 类型抛出函数的无效转换

iphone - xcode:如何在编译/构建阶段将文件保存在 "documents"文件夹中(不是通过 "code on run")?

ios - NSBundle.mainBundle() 返回 nil

ios - 无法使用 [[NSBundle mainBundle] pathForResource ofType inDirectory] ​​加载文件

ios - 将 RPPreviewController 中的视频保存到特定位置而不是保存到相机胶卷?

iOS:RestKit 操作阻止在我想要的时候执行

ios - 如何快速制作可设计的文本字段代码类

ios - Swift 2 - 两个 UICollectionViewController 之间的协议(protocol)委托(delegate)