我一直在尝试使用 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
也许,读取相机胶卷有权限限制吗?
最佳答案
应用程序只允许访问它们自己的目录。对其他部分的访问被拒绝,因此自然所有对文件的查询都会说它们不存在。
媒体播放等内部组件也可以访问其他目录,否则您将无法在所有应用程序内部播放相机胶卷中的项目。
似乎模拟器根本不强制执行权限。
关于ios - NSFileManager.defaultManager().fileExistsAtPath 在使用 iOS 设备时返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36572571/