#objective-c
#objective-c
Вопрос:
При попытке выполнить следующую команду: genstrings ./Classes/*.m
на терминале я получаю следующую ошибку: Argument is not a literal String
. Кто-нибудь знает, в чем может быть проблема?
Комментарии:
1. Пожалуйста, покажите нам строку, о которой идет речь.
2. Я всегда старался подавить это, когда я делаю это специально, где я настраиваю stringVariable (возможно, объединение пары строк), а затем использую NSLocalizedString(stringVariable, @»comment») для выполнения локализации.
Ответ №1:
Проверьте свои исходные файлы, если у вас есть что-то вроде
NSLocalizedString(stringVariable, @"comment");
Возможно, у вас должна быть буквальная строка в этой функции:
NSLocalizedString(@"literalString", @"comment");
Комментарии:
1. Закрыть, но ошибка заключалась в том, что кавычки были неправильно отформатированы, спасибо
2. В моем случае у меня было выше со строковой переменной, но она была закомментирована. К вашему сведению, genstrings все еще видел это
Ответ №2:
В моем случае я получил ошибку, потому что у меня был NSLocalizableString в комментарии (например, «// TODO: измените строку выше на NSLocalizableString перед переходом к производству»). По-видимому, genstrings не игнорирует комментарии.
Ответ №3:
В моем случае импорт NSLocalizedString
функции в Swift вызвал эту проблему:
import func Foundation.NSLocalizedString
Я просто временно использовал import Foundation
, и это сработало.