Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.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
Ios 未找到Foundation.framework中的可本地化字符串_Ios_Localization_Nsbundle - Fatal编程技术网

Ios 未找到Foundation.framework中的可本地化字符串

Ios 未找到Foundation.framework中的可本地化字符串,ios,localization,nsbundle,Ios,Localization,Nsbundle,我在使用我的应用程序时收到此日志警告,我不确定如何处理此消息: 2014-10-21 12:57:54.472 App[7067:2540152]可本地化字符串(由%@保存的文档)未在捆绑包Cbundle 0x12e508f60的字符串表“文档”中找到(未加载) 看起来,框架中的本地化文件丢失了,这真的很奇怪。重新添加框架没有帮助 任何提示都已通知。如果未指定“文档”,则它将在文件Localizable.strings中查找。否则,请确保项目中有Document.strings文件。而且,“(%

我在使用我的应用程序时收到此日志警告,我不确定如何处理此消息:

2014-10-21 12:57:54.472 App[7067:2540152]可本地化字符串(由%@保存的文档)未在捆绑包Cbundle 0x12e508f60的字符串表“文档”中找到(未加载)

看起来,框架中的本地化文件丢失了,这真的很奇怪。重新添加框架没有帮助

任何提示都已通知。

如果未指定“文档”,则它将在文件Localizable.strings中查找。否则,请确保项目中有Document.strings文件。而且,“(%@保存的文档)”在我看来很奇怪。您可能需要检查这是否确实是您想要的可本地化字符串的键

这里有一个链接,可以帮助您了解流程


我收到了同样的信息。在我的例子中,看起来TestFlight和Crashlytics都在生成它们

[TestFlight takeOff:@"xxxxxxxxxxx"]; // Generates 2 messages 
[Crashlytics startWithAPIKey:@"xxxxxxxxxxx"]; // Generates 1 message
没有给我们带来任何麻烦,所以暂时别管他们

更新 好的,我已经追根究底了。如果您一直在进行本地化,那么很可能在方案中启用了“本地化调试”(产品>方案>在Xcode中编辑方案)。如果您想知道为什么要从各种库中获取这些消息,可能是因为您仍然启用了它


我也有这个问题

由于关闭警告似乎是一个坏主意(感觉高风险的翻译将无法按预期工作),我跟踪了问题的实际原因

在我的例子中,问题是Localizable.strings文件中有一个空字符串。(我使用了一种非标准的方式来生成它,默认的genstrings工具不会添加它们)

也就是说,在一个地方我有这样一句话:

/* No comment provided by engineer. */
"" = "";
如果我把它拿走,警告就消失了! 如果添加空字符串,字符串表实现中似乎出现了一些问题,这会使所有字符串表变得混乱,而不仅仅是问题所在的字符串表


也许有人会发现这些信息很有用,所以我把它放在这里。

根据我在最近的项目中发现的,当您的设备中定义了英语(只有英语,没有区域)时,就会发生此错误。 由于一个或多个框架将无法找到翻译字符串,因此控制台日志中将出现此错误。
希望对您有所帮助另一个常见错误是在文件中任何一行的末尾忘记了“;”,该行包含您的Localizable.strings。这在大量复制和粘贴后很容易发生。不幸的是,它不容易定位,因为编译器不会抱怨行号或任何其他有用的提示。当您有大的可本地化表时,这可能是非常痛苦和乏味的

这一错误的结果是,一些译文被找到了,而另一些则没有,而且很难找到原因

我的解决方案是确保所有键都已正确定义(行尾有“;”):

  • 在Xcode中打开文件“Localizable.strings”
  • 删除表格的下半部分(开始时)
  • 按COMMAND+B(生成)

  • 如果您没有收到错误,那么问题一定在已删除的下半部分。将其粘贴回去,现在只删除较低的25%,然后重复构建。重复此过程,直到您能更好地找到问题。

    到处寻找解决方案

    发现了一个错误

    我只是复制了本地化,例如:

    let str = "String".localized
    
    在那之后,还有:

    str.localized
    
    在那之后我声称

    [strings]错误:在捆绑包的可本地化表中找不到字符串 Cbundle 0x14bd01fc0


    这是系统消息还是您的应用程序试图显示该消息?什么代码触发该日志消息?这是一条系统消息。我不能告诉你一个特定的代码片段,但在应用程序中,这种情况是在滚动表格视图时触发的。图像通过SDWebImage加载,可能未完全保存。我听说当用户pref没有正确保存时会出现一条相关消息。但是,此消息不会显示在每个设备上,即使在重新安装后,也会附着在某个设备上。这让我觉得它与系统(或安装)有关。我不认为Carsten用自己的代码生成了此警告,因此添加一些Document.string可能不会有帮助。我也收到了警告,我确信它不是由我自己的代码生成的。所以问题是:哪个外部库产生了这个警告,它是人们应该关注的还是我们可以忽略它。嗨,没错,这不是由我的代码直接触发的。如上所述,我有一个包含SDWebImage的表视图,用于异步图像加载。我不确定,但我想我以前也在另一个库中看到过这个问题,并检查了SD问题跟踪程序。到目前为止还没有成功。也许我应该直接把这个问题带到苹果公司…:)不幸的是,禁用TF和CL(我也同时使用两者)并没有帮助。我检查了本地文件,并在过去做了一些更改。然而,这并没有改变这种行为。幸运的是,正如你所指出的,应用程序没有因此崩溃。无论如何谢谢你@CarstenWitzke-解决了我的问题,不确定你的想法是否相同!砰!保罗,就是这样!我假设这个复选框是在Xcode 6中添加的,因为。无论如何,这关闭了输出。谢谢。我发现如果您在构建方案中手动传递
    -NSShowNonLocalizedStrings YES
    参数,即使未选中本地化调试复选框,也会发生这种情况。我同意,在大多数情况下关闭警告不是正确的方法。然而,在这里,我不能触摸本机iOS代码。顺便说一句,我正在使用Phraseapp进行翻译,并将其同步包含在我的构建过程中。我已经检查了语言文件是否有像你这样的异常,幸运的是没有。不管怎样,谢谢你的好意。我一直得到在测试过程中没有在基本语言中找到的故事板字符串的错误-这最终解决了这个问题。这个装置是我的