簡體   English   中英

NSBundle pathForResource無法用於子目錄本地化嗎?

[英]NSBundle pathForResource doesn't work for subdirectory localization?

我看到了很多有關[NSBundle MainBundle] pathForResource (是否使用inDirectory),但是我的情況似乎有所不同。

我的問題是:是的,如果沒有本地化,它對於子目錄中的任何文件都可以正常工作。 例如,當我使用時,它返回文件data/a/words.txt的正確路徑

[[NSBundle mainBundle] pathForResource:@"words.txt" ofType:nil inDirectory:@"data/a"]

但是,在我對words.txt本地化words.txt ,假設實際路徑變為: data/a/en.lproj/words.txt ,那么上面的代碼不再能找到該路徑。

我檢查了.app軟件包中的文件,並且該文件已被復制到正確的路徑(data/a/en.lproj) ,這只是代碼無法找到它的原因。

我正在使用XCode 5.1.1

pathForResource是否應該自動查找文本?

嘗試將forLocalization添加到pathForResource ,如下所示:

NSArray* availableLocalizations = [[NSBundle mainBundle] localizations];
NSArray* userPrefered = [NSBundle preferredLocalizationsFromArray:availableLocalizations forPreferences:[NSLocale preferredLanguages]];

NSString *indexPath = [[NSBundle mainBundle] pathForResource:@"words" ofType:@"txt" inDirectory:@"data/a" forLocalization:[userPrefered objectAtIndex:0]];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM