我正在尝试实现一种更改应用程序内部语言的方法。
我想我已经弄清楚了,但是由于某种原因,该文件夹没有作为捆绑包装运
我有一个名为 kh.lproj 的文件夹
NSString *path = [[NSBundle mainBundle] pathForResource:newLanguage ofType:@"lproj"];
if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
bundle = [NSBundle bundleWithPath:path];
DLOG(@"Language: %@ from path %@ (%@)", newLanguage, path, bundle);
}
我的 dlog 的输出是
语言:kh来自路径......../F1AA1E74-A014-4331-BD1B-D05D0E54AFF3/console.app/kh.lproj (NSBundle <......../F1AA1E74-A014-4331-BD1B- D05D0E54AFF3/console.app/kh.lproj>(尚未加载))
在 iPhone 和模拟器上(当然有不同的路径)。
我已经签入了 .app 文件夹,并且 kh.lproj 文件夹就在那里。(小写)。
有谁知道为什么会这样?如果我尝试加载一个不存在的文件,它只会忽略它并且不要尝试加载它。
编辑
如果有任何帮助,当我使用 loadAndReturnError:(NSError) 时,我会收到以下消息:
NSLocalizedFailureReason=无法定位捆绑包的可执行文件。, NSLocalizedDescription=无法加载捆绑包“kh.lproj”,因为无法找到其可执行文件。, NSBundlePath=......./A65E8399-6CDB- 4CAE-9074-803125E78BBA/storeconsole.app/kh.lproj
这个错误信息是什么意思