Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 本地化和;格式字符串不是字符串文字";_Xcode_Macos_Cocoa - Fatal编程技术网

Xcode 本地化和;格式字符串不是字符串文字";

Xcode 本地化和;格式字符串不是字符串文字";,xcode,macos,cocoa,Xcode,Macos,Cocoa,我知道这方面有很多问题和答案,但我认为我的情况不同,因为它涉及本地化。这可能就是为什么我在理解为什么我不能解决这个警告的原因时不顾一切 我在以下代码中得到“格式不是字符串文字”警告: [NSString stringWithFormat:[[NSBundle mainBundle] localizedStringForKey:@"TestCompleted2" value: @"The test on %@ has completed." table: @"Main"], itemName]

我知道这方面有很多问题和答案,但我认为我的情况不同,因为它涉及本地化。这可能就是为什么我在理解为什么我不能解决这个警告的原因时不顾一切

我在以下代码中得到“格式不是字符串文字”警告:

[NSString stringWithFormat:[[NSBundle mainBundle] localizedStringForKey:@"TestCompleted2"
value: @"The test on %@ has completed." table: @"Main"], itemName]
Main.strings:

"TestCompleted2" = "The test on %@ has completed.";
我不明白A)它为什么抛出这个错误,B)我如何修复它


它显然有填充数据,所以不应该是这样。我之所以假设它是因为
localizedStringForKey
可能返回具有不同格式占位符的不同字符串,这就是它抛出错误的原因。对吗?如果是,我该如何修复它

终于有机会坐下来调试这个。这是由于xcconfig中的
-Wformat=2
。这取决于它做什么


谢谢大家看这个。希望这个答案能帮助其他人

这太奇怪了,马特。我只是复制并粘贴了我正在使用的代码。也许我在某个地方启用了构建警告?我可以尝试一个新项目,看看我是否能获得与你相同的经验。