2016-04-12 4 views
1

MPMoviePlayerViewControllerでビデオを再生しようとしていて、正常に動作しています。しかし、私はそれを再生する前に、再生するビデオが本当に存在するかどうか確認したいので、私はNSFileManager.defaultManager().fileExistsAtPathを使って、iPhoneのカメラロールのファイルへのパスをNSFileManager.defaultManager().iOSデバイスを使用しているときにfileExistsAtPathがfalseを返します

私は問題があるかどうかチェックします。私は、コードのこの作品でそれを確認した場合:

// videoImageUri = "/Users/AppName/Library/Developer/CoreSimulator/Devices/3DAC8D46-3E32-4143-A552-2DB325CB5965/data/Media/DCIM/100APPLE/IMG_0006.mov" 
NSFileManager.defaultManager().fileExistsAtPath(NSURL(fileURLWithPath : videoImageUri).path!) 

Xcodeシミュレータで使用する場合はtrueを返しますが、iPhoneで使用している場合、それはファイルが存在する場合でも、falseを返します。 MPMoviePlayerViewControllerが正しく再生するため、存在することがわかります。 iPhoneを使用しているとき私が使用

パスは、カメラロールを読み込みについての許可制限があり、多分

/var/mobile/Media/DCIM/100APPLE/IMG_0150.MP4

のですか?

+0

パスの場合をチェックする - シミュレータは、同じように、上下のケースを扱うが、IOSの(すなわち、iPhone)がありません。 – bobnoble

答えて

0

アプリケーションは、自分のディレクトリにしかアクセスできません。他のパーツへのアクセスは拒否されているので、ファイルのクエリはすべて自然に存在しないと言います。

メディア再生のような内部コンポーネントも他のディレクトリにアクセスできます。そうしないと、内部のすべてのアプリケーションでカメラロールからアイテムを再生できなくなります。

シミュレータがパーミッションをまったく実行していないようです。

More information about filesystem on iOS.

関連する問題