运行genstrings命令时获取错误“参数不是文字字符串”

时间:2011-10-22 09:22:50

标签: objective-c

尝试在终端上运行以下命令:genstrings ./Classes/*.m时,出现以下错误:Argument is not a literal String。有谁知道问题可能是什么?

3 个答案:

答案 0 :(得分:5)

如果您有类似

的内容,请检查您的源文件
NSLocalizedString(stringVariable, @"comment");

也许你应该在这个函数中有一个文字字符串:

NSLocalizedString(@"literalString", @"comment");

答案 1 :(得分:0)

在我的情况下,我得到了错误,因为我在注释中有NSLocalizableString(例如“// TODO:在转到生产之前将行更改为NSLocalizableString”)。显然,genstrings不会忽略评论。

答案 2 :(得分:0)

就我而言,在 Swift 中导入 NSLocalizedString 函数导致了这个问题:

import func Foundation.NSLocalizedString

我只是暂时使用了 import Foundation 并且效果很好。