NSLocalizedStringFromTableInBundle выдает ошибку списка свойств при вызове в классе NSObject - PullRequest
0 голосов
/ 08 марта 2019

Я создал свои собственные локализуемые строковые файлы для нескольких языков (XYZLocalizable.strings) и добавил их в комплект. Я могу получить строки в классе UIViewController, используя следующую строку:

NSLocalizedStringFromTableInBundle(@"xyz_plugin_title", @"XYZLocalizable", [XYZPluginDelegate bundle], nil);

Но вся сборка завершится неудачей, если я добавлю эту строку в класс NSObject:

@interface XYZStringResourceUtil : NSObject

+ (NSString *) getLocalizedString:(NSString *) stringKey;
.
.

@end

@implementation XYZStringResourceUtil

+ (NSString *) getLocalizedString:(NSString *) stringKey {
    NSLocalizedStringFromTableInBundle(stringKey, @"XYZLocalizable", [XYZPluginDelegate bundle], nil);
}
.
.

@end

Я получаю ошибку:

../DerivedData/XXXXXX/Build/Intermediates.noindex/YYYY.build/Debug-iphonesimulator/ZZZZZ.build/Localization/en.lproj/XYZLocalizable.strings: Unexpected character ÿ at line 1
../DerivedData/XXXXXX/Build/Intermediates.noindex/YYYY.build/Debug-iphonesimulator/ZZZZZ.build/Localization/en.lproj/XYZLocalizable.strings: Property List error: Unexpected character ÿ at line 1 / JSON error: JSON text did not start with array or object and option to allow fragments not set.

Странно, ошибка выскакивает, даже если я удаляю файл .strings с диска. Сборка проходит только когда я удаляю строку из класса NSObject.

Имеет ли NSLocalizedStringFromTableInBundle какие-либо ограничения на то, где его можно использовать?

Я уже потратил немало дней, пытаясь найти причину этой ошибки сборки и исправить ее. Я был бы очень признателен, если бы кто-то мог помочь исправить это.

Заранее спасибо.

1 Ответ

0 голосов
/ 11 марта 2019

Мне удалось найти обходной путь, сделав метод, содержащий ошибочный код, статическим методом вместо метода класса.

Хотя до сих пор не ясно, почему метод класса не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...