NSFileManager.defaultManager()。fileExistsAtPath在使用iOS设备时返回false

时间:2016-04-12 11:56:02

标签: ios swift mpmovieplayercontroller nsfilemanager

我一直试图用MPMoviePlayerViewController播放视频,但效果很好。但在我播放之前,我想检查我想要播放的视频是否真的存在,所以我使用的是NSFileManager.defaultManager().fileExistsAtPath,其中包含iPhone相机胶卷中文件的路径

检查是否存在我的问题。如果我用这段代码检查它:

// 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

也许,阅读相机胶卷是否有任何许可限制?

1 个答案:

答案 0 :(得分:0)

只允许应用程序访问自己的目录。拒绝访问其他部分,因此对文件的所有查询自然会说它们不存在。

媒体播放等内部组件也可以访问其他目录,否则您将无法在所有内部应用程序中播放相机胶卷中的项目。

似乎模拟器根本不强制执行权限。

More information about filesystem on iOS.