【问题标题】:XCode 7.3.1 importLocalization crashXCode 7.3.1 导入本地化崩溃
【发布时间】:2016-08-02 09:30:41
【问题描述】:

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

--- xcodebuild2016-04-13 11:56:20.933 xcodebuild[3927:40233] [MT] DVTAssertions:/Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-10183.3/IDEFoundation 中的断言失败/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中)

谁能给我一些建议来克服这个错误?

【问题讨论】:

    标签: ios localization xcode7.3 nslocalizedstring


    【解决方案1】:

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

    输入:

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

    步骤: 1. 选择项目并执行本地化导出(Editor > Export for Localization..)。 2.在我的情况下(但这可能只是导出的错误,不包含标签),我必须编辑导出的en.xliff文件并在每个<file .. target-language="en">块的末尾添加target-language="en"。 3. 导入文件(Editor > Import Localizations..)

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

    例如,有一个应用目标 + 单元测试目标的项目,第一个导出过程,生成 3 个文件(2 个 InfoPlist.strings + 1 个 Localizable.strings)。下一次,导出已经生成了 4 个文件(2 InfoPlist.strings + 2 Localizable.strings)。

    每当从 XCode 导出、停止添加新的本地化文件时,我的脚本就会开始工作,我可以重新使用这些脚本。

    【讨论】:

      猜你喜欢
      • 2017-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      相关资源
      最近更新 更多