- [NSBundle pathForResource:ofType:inDirectory:]为本地化资源

时间:2015-06-26 21:44:20

标签: ios objective-c cocoa cocoa-touch

我有一个这样的捆绑结构:

bundle's root
------atlases
------------en.lproj
--------------------test-hd.plist
------------es.lproj
--------------------test-hd.plist

但是当我尝试使用此代码获取当前本地化的test-hd.plist时

[[NSBundle mainBundle] pathForResource:@"test-hd.plist" ofType:nil inDirectory:@"atlases"]

它总是返回零。我的错误在哪里?我该如何解决? 附: “atlases”文件夹被添加为文件夹参考,test-hd.plist始终可以通过直线路径[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"atlases/en.lproj/test-hd.plist"]

获得

1 个答案:

答案 0 :(得分:1)

您的目录结构错误。 en.lproj等应包含名为atlases的目录,如下所示:

<bundle root>
|-- en.lproj
|---- atlases
|------ test-hd.plist
|-- es.lproj
|---- atlases
\------ test-hd.plist