跨平台工作流中,如何在Xcode强制使用UTF-8 with BOM编码?
在Xcode中强制使用UTF-8 with BOM编码的方法
方法一:终端命令手动补加BOM
在Xcode编辑并保存文件后,打开终端执行以下命令,给文件头部插入UTF-8 BOM字节序列:
printf '\xef\xbb\xbf' | cat - 你的文件名.swift > temp && mv temp 你的文件名.swift
这条命令会先生成BOM的字节码,再将其与原文件内容合并,最终替换原文件,确保文件保留BOM标记。
方法二:修改Xcode配置文件(永久添加编码选项)
Xcode的编码列表由内部plist文件定义,可手动添加UTF-8 with BOM选项:
- 先将编码配置文件复制到桌面(需系统权限):
sudo cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/DVTCodingTypes.plist ~/Desktop/ - 用Xcode或plist编辑器打开桌面上的
DVTCodingTypes.plist,新增一个字典条目,包含以下键值对:DVTCodingTypeIdentifier:com.apple.utf-8-bomDVTCodingTypeLocalizedName:UTF-8 with BOMDVTCodingTypeTag:UTF-8DVTCodingTypeUsesByteOrderMark:布尔值YES
- 将修改后的文件替换回原路径:
sudo cp ~/Desktop/DVTCodingTypes.plist /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/ - 重启Xcode,就能在文件编码的下拉列表中看到
UTF-8 with BOM选项。
注意事项
- 修改Xcode系统文件的方式会在Xcode版本更新后被覆盖,每次更新后需要重新操作。
- 部分Xcode版本可能对自定义编码选项兼容性不佳,若出现异常,优先使用终端命令的方法。
内容的提问来源于stack exchange,提问作者Velcro
相关产品推荐
相关产品推荐

