ios NSBundle“尚未加载”用于现有路径

qij5mzcb  于 2022-11-19  发布在  iOS
关注(0)|答案(2)|浏览(135)

我正在尝试实现一种在应用程序内部更改语言的方法。
我想我已经把一切都弄清楚了,但由于某种原因,文件夹没有装成一捆
我有一个文件夹叫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的输出是
(console.app/kh.lproj尚未加载)
在iPhone上和模拟器中(当然有不同的路径)。
我已经检查了.app文件夹和kh.lproj文件夹在那里。(在小写)。
有没有人知道为什么会发生这种情况?如果我试图加载一个不存在的文件,它只是忽略它,不要试图加载它。
编辑
如果它有任何帮助,当我使用loadAndReturnError:(NSError)我得到消息:
NSLocalizedFailureReason=无法找到捆绑包的可执行文件。语法,NSLocalizedDescription=无法加载捆绑包“kh.lproj”,因为无法找到其可执行文件。示例,NSBundlePath=......./A65 E8399 -6CDB-4CAE-9074- 803125 E78 BBA/storeconsole.app/kh.lproj
此错误消息是什么意思

plicqrtu

plicqrtu1#

打电话的时候,我好像得到了我想要的东西

[bundle localizedStringForKey:key value:NULL table:nil];
xqnpmsa8

xqnpmsa82#

当字符串文件有错误时,例如缺少分号或注解标记不完整,也可能是一个陷阱。
Xcode不检查文件的语法错误。

相关问题