NSFileManager.defaultManager().fileExistsAtPath returns 使用 iOS 设备时为 false
NSFileManager.defaultManager().fileExistsAtPath returns false when using iOS device
我一直在尝试使用 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
模拟器中使用时 returns 为真,但如果与 iPhone 一起使用,则 returns 为假,即使文件存在。我知道它存在,因为 MPMoviePlayerViewController
播放正确。
我在使用iPhone时使用的路径是
/var/mobile/Media/DCIM/100APPLE/IMG_0150.MP4
可能吧,读取相册有没有权限限制?
应用程序只能访问自己的目录。对其他部分的访问被拒绝,因此自然所有对文件的查询都会说它们不存在。
媒体播放等内部组件也可以访问其他目录,否则您将无法在所有应用程序内播放相机胶卷中的项目。
似乎模拟器根本不强制执行权限。
我一直在尝试使用 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
模拟器中使用时 returns 为真,但如果与 iPhone 一起使用,则 returns 为假,即使文件存在。我知道它存在,因为 MPMoviePlayerViewController
播放正确。
我在使用iPhone时使用的路径是
/var/mobile/Media/DCIM/100APPLE/IMG_0150.MP4
可能吧,读取相册有没有权限限制?
应用程序只能访问自己的目录。对其他部分的访问被拒绝,因此自然所有对文件的查询都会说它们不存在。
媒体播放等内部组件也可以访问其他目录,否则您将无法在所有应用程序内播放相机胶卷中的项目。
似乎模拟器根本不强制执行权限。