我在将应用更新到iOS7 SDK时遇到问题。在我使用iOS 6 SDK并使用NSURL
访问我的mp3文件之前,对于这样的文件夹:
NSURL *folderURL = [[NSBundle mainBundle] URLForResource:@"" withExtension:@"" subdirectory:@"AudioGuide"];
现在,使用iOS 7 SDK我总是得到folderURL
的值为nil,我的音频指南不再找到mp3。
我已经查看了模拟器生成的.app-Bundle(在〜/ Library / Application Support / ...中),我可以看到" AudioGuide"根目录中的文件夹。所以它肯定在那里。
我不是那个iOS大师,并没有真正关注iOS7更新。如何在应用程序中访问自己的资产?如何访问我的文件?
答案 0 :(得分:0)
- (NSURL *)URLForResource:(NSString *)name withExtension:(NSString *)extension subdirectory:(NSString *)subpath
返回指定标识的资源文件的文件URL 名称和扩展名,并驻留在给定的包目录中。
这意味着您可以在给定的子目录中获取具有特定类型的文件URL,因此您应该将此方法调用与您的文件名和扩展名一起使用。
如果您正在尝试读取该目录下的文件列表,您可以做的是将所有音频文件捆绑在一个zip或gzip压缩文件中,并在访问它时将其解压缩到Documents或Application Support目录中这是第一次,你可以使用下面的代码阅读它。
NSArray *directories = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
NSString *directory = [directories objectAtIndex:0];
NSString *audioDirectoryPath = [directory stringByAppendingPathComponent:@"AudioGuide"];
NSArray *audioFiles = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:audioDirectoryPath];
希望这有帮助!