我有这个:
NSURL *url = [NSURL fileURLWithPath:@"/Users/myusername/Library/Application Support/iPhone Simulator/4.2/Applications/5ABF1395-4A80-46C0-BD4A-419ED98CE367/Documents/DBV/v.m4v"];
然后我启动 movieViewController,但它总是崩溃。此代码在 iPhone 模拟器和设备上均不起作用...我该如何修复它?
编辑: 在手写文件路径之前,我使用了正确的方式来选择文件夹。
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
然后我得到了这个日志:
file://localhost/Users/myusername/Library/Application%20Support/iPhone%20Simulator/4.2/Applications/5ABF1395-4A80-46C0-BD4A-419ED98CE367/Documents/DBV/v.m4v
然后我认为是因为文件夹名称中有空格,所以我决定手写完整路径以进行调试(将每个 %20 替换为空格)
编辑 2:注意:我正在尝试访问 Documents 文件夹中动态创建的文件,而不是我的包中的文件。
最佳答案
对于文档中的文件,您应该从 NSSearchPathForDirectoriesInDomains 获取路径。
//get list of document directories in sandbox
NSArray *documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//get one and only document directory from that list
NSString *documentDirectory = [documentDirectories objectAtIndex: 0];
然后将文件名附加到它。
关于iphone - iOS : NSString file path to NSURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7947278/