获取 iPhone mainBundle 文件

Posted

技术标签:

【中文标题】获取 iPhone mainBundle 文件【英文标题】:Getting iPhone mainBundle Files 【发布时间】:2010-08-07 00:57:06 【问题描述】:

我不知道在我的 iphone 应用程序 mainBundle 中检索所有资源文件名所需的确切代码。如果我可以有某种代码,例如:

NSArray *array = [[NSBundle mainBundle] getAllResourceFilenames];

这会很有帮助。感谢您的帮助!

【问题讨论】:

【参考方案1】:

您应该查看 NSFileManager 的 SDK 文档,但这可以帮助您入门:

NSString *path = [[NSBundle mainBundle] resourcePath];
NSFileManager *fm = [NSFileManager defaultManager];

NSError *error = nil;

NSArray *directoryAndFileNames = [fm contentsOfDirectoryAtPath:path error:&error];

【讨论】:

【参考方案2】:

可以获取主包的资源路径

[[NSBundle mainBundle] resourcePath];

然后简单地使用常规的 NSFileManager 方法来获取它的内容。

【讨论】:

这会返回给我一个文件名列表吗? 不,这只会为您提供正确的路径,然后您需要使用 NSFileManager 来获取文件和/或子目录的列表(请参阅下面 Seamus 的回答)。

以上是关于获取 iPhone mainBundle 文件的主要内容,如果未能解决你的问题,请参考以下文章

.json 文件不包含在 mainBundle 中?

Swift:从 MainBundle 读取 plist 并直接写入 Documents 失败

使用 [[NSBundle mainBundle] pathForResource 获取 .plist 的路径时出现问题

Swift .writeToFile 不会更新 mainBundle 中的 JSON 文件

无法从 mainBundle 播放 MP4 视频文件

NSBundle mainBundle 返回 nil