我遇到了无法从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文件夹中玩过标题,后缀和位置,但在我的生活中无法弄清楚为什么找不到这些项目。任何帮助将不胜感激。
答案 0 :(得分:1)
我尝试运行与您正在运行的完全相同的代码。我能够看到我的包中存在的所有文件都被打印出来。
但是,我假设您可能错过了将这些文件添加到目标。这也可能是一个原因。
您能否确认是否已将添加到捆绑包的所有文件添加到相应的目标?