求助:Xcode 9.3编辑特定文件时崩溃于SourceEditorDataSource.insertTextAtPosition
解决Xcode编辑特定文件时崩溃于
SourceEditorDataSource.insertTextAtPosition的问题 这问题我太熟了!我之前也碰到过几乎一模一样的情况,分享下我的排查和解决过程:
问题复现
编辑项目里的部分文件时,Xcode毫无征兆直接闪退,崩溃报告里的关键报错是:
specialized closure #3 in SourceEditorDataSource.insertTextAtPosition(_:position:reformatting:) + 1905
诡异的是同项目里其他文件编辑完全正常,只有这几个特定文件触发崩溃。
根因排查
我试着用BBEdit打开这些出问题的文件,发现它们的换行符是回车符(CR),而不是macOS/iOS开发环境默认使用的换行符(LF)——这就是Xcode崩溃的罪魁祸首!
解决步骤
- 用BBEdit打开崩溃的目标文件
- 点击顶部菜单栏的「文本」→「换行符」→「转换为LF(Unix)」
- 保存文件,重启Xcode后再编辑就不会崩溃了
预防措施
为了避免以后再碰到类似问题,可以直接在Xcode里设置默认换行符:
- 打开Xcode偏好设置(快捷键
Cmd + ,) - 切换到「文本编辑」→「缩进」标签页
- 把「换行符」选项设置为「Unix(LF)」
这样后续新建的文件都会自动使用LF换行符,从根源上避免这类兼容性崩溃。
内容的提问来源于stack exchange,提问作者August
相关产品推荐
相关产品推荐

