XCode 7.3.1 导入本地化崩溃
Posted
技术标签:
【中文标题】XCode 7.3.1 导入本地化崩溃【英文标题】:XCode 7.3.1 importLocalization crash 【发布时间】: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中)
谁能给我一些建议来克服这个错误?
【问题讨论】:
【参考方案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 导出、停止添加新的本地化文件时,我的脚本就会开始工作,我可以重新使用这些脚本。
【讨论】:
以上是关于XCode 7.3.1 导入本地化崩溃的主要内容,如果未能解决你的问题,请参考以下文章
infoPlist.strings 读取失败:无法读取数据,因为它的格式不正确
使用断点进行调试时,Xcode 7.3.1 使用 swift 代码崩溃