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)
        }

    }

}

私のアプリには 4 つのメディア アセットがあります。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 に追加されたすべてのファイルを対応する target に追加したかどうか確認できますか?

ファイルをターゲットに追加するには

于 2015-10-14T16:56:58.583 に答える