我試圖實現一種方法來更改應用程序內部的語言。NSBundle「尚未加載」現有路徑
我想我擁有了一切想通了,但由於某些原因,文件夾沒有laded成捆
我有一個名爲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的輸出文件夾是
Language: kh from path ......../F1AA1E74-A014-4331-BD1B-D05D0E54AFF3/console.app/kh.lproj (NSBundle <......./F1AA1E74-A014-4331-BD1B-D05D0E54AFF3/console.app/kh.lproj> (not yet loaded))
在iPhone和模擬器(當然有不同的路徑)。
我已經在.app文件夾中檢查了kh.lproj文件夾。 (小寫)。
有沒有人知道爲什麼會發生這種情況?如果我嘗試加載一個不存在的文件,它只是忽略它,不要嘗試加載它。
編輯
如果任何人的幫助,當我使用loadAndReturnError:(NSError)我得到的消息:
NSLocalizedFailureReason=The bundle’s executable couldn’t be located., NSLocalizedDescription=The bundle 「kh.lproj」 couldn’t be loaded because its executable couldn’t be located., NSBundlePath=......./A65E8399-6CDB-4CAE-9074-803125E78BBA/storeconsole.app/kh.lproj
這是什麼錯誤訊息
您是否檢查它是否標記爲正確的目標?有時添加資源會導致不自動檢查目標。 – iOS
是的,它在Copy Bundle Resources構建階段。如上所述,它在編譯後得到的.app文件夾中,所以它絕對存在 – Erik
對不起,至今我還沒有任何線索。 – iOS