有一个包含框架的复杂项目,我们在使用导出/导入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中)
有谁能建议我克服这个错误?
答案 0 :(得分:0)
花了一天的时间发现Apple修复了7.3.1中的一些本地化崩溃,并引入了其他错误。因此,使用7.2.1命令行工具测试相同的脚本就像一个魅力。但是这并没有停止挖掘并找到解决方案,所以这里是流程,这使我的脚本再次正常运行。
输入:
Localizable.strings
个文件步骤:
1.选择项目并执行本地化导出(编辑器>导出以进行本地化..)。
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导出时,停止添加新的本地化文件,我的脚本开始工作,我可以回到使用它们。