XCode 7.3.1 importLocalization崩溃

时间:2016-08-02 09:30:42

标签: ios localization xcode7.3 nslocalizedstring

有一个包含框架的复杂项目,我们在使用导出/导入XLIFF文件脚本时开始遇到问题。问题实际上是围绕导入脚本,它引发了下一个错误:

  

--- xcodebuild2016-04-13 11:56:20.933 xcodebuild [3927:40233] [MT] DVTAssertions:/ Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-10183.3/IDEFoundation中的ASSERTION FAILURE /Localization/IDELocalizationWork.m:177
  细节:(组)不应该是零。
  对象:
  方法:+ groupStreamFromFileReference:语言:
  线程:{number = 1,name = main}
  提示:无   回溯:
    0 - [DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:](在DVTFoundation中)
    1 _DVTAssertionHandler(在DVTFoundation中)
    2 _DVTAssertionFailureHandler(在DVTFoundation中)

有谁能建议我克服这个错误?

1 个答案:

答案 0 :(得分:0)

花了一天的时间发现Apple修复了7.3.1中的一些本地化崩溃,并引入了其他错误。因此,使用7.2.1命令行工具测试相同的脚本就像一个魅力。但是这并没有停止挖掘并找到解决方案,所以这里是流程,这使我的脚本再次正常运行。

输入:

  • 项目只有代码本地化;
  • 几个子项目/框架,每个子项目/框架都有目标二进制+目标单元测试;
  • 确保从项目中删除所有Localizable.strings个文件

步骤: 1.选择项目并执行本地化导出(编辑器&gt;导出以进行本地化..)。 2.在我的情况下(但也许这只是导出的错误,不包括标签),我必须编辑导出的en.xliff文件并在最后添加target-language="en"每个<file .. target-language="en">块。 3.导回文件(编辑器&gt;导入本地化..)

但并非所有......似乎第一个导出不会一直导出所有内容(错误),因此您可能需要多次运行相同的过程。每次我再次导出时,XLIFF文件都包含一个额外的本地化块。

例如,拥有一个带有app target + unit tests目标的项目,第一个导出过程,生成了3个文件(2个InfoPlist.strings + 1个Localizable.strings)。下一次,导出已生成4个文件(2个InfoPlist.strings + 2个Localizable.strings)。

每当从XCode导出时,停止添加新的本地化文件,我的脚本开始工作,我可以回到使用它们。