Xcode向本地SPM包添加文件时无法指定文件名如何解决
Xcode 本地 SPM 包新增文件默认生成
File.swift 及头部注释错误的解决方法 这个是Xcode对本地Swift Package目标的文件创建流程存在的已知问题,Xcode 13.x到后续多个新版本都没有修复,没有官方开关可以直接改回和普通项目一致的创建弹窗,可根据自己的使用习惯选下面的方案解决:
零成本临时方案
右键新建完默认的File.swift之后,不要立刻打开文件编辑,先在左侧文件导航栏把文件重命名为你需要的名称,确认重命名完成后再双击打开文件,这时候Xcode会自动重新生成文件头部注释,文件名部分会自动替换成你修改后的名称,不会保留File.swift字样。
注意如果先打开文件写了内容再重命名,头部注释会固定为创建时的File.swift,不会自动更新,需要手动修改。触发正常创建弹窗的操作方式
不要用右键目录选New File的方式创建文件,改为先选中SPM包下要存放文件的目标目录,再点击Xcode顶部菜单栏的File > New > File调起新建文件流程,部分Xcode版本下这个操作路径可以正常弹出文件名输入、存储位置选择的弹窗,创建出来的文件从一开始就带正确的名称和头部注释。一劳永逸修改模板方案
如果嫌每次先重命名麻烦,可以直接修改Xcode的Swift文件模板逻辑,让头部注释自动适配最终文件名,不用依赖创建时传入的默认值:- 打开Finder,按下
Command+Shift+G,输入路径/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/MultiPlatform/Source/Swift File.xctemplate进入模板目录 - 打开目录内的
___FILEBASENAME___.swift模板文件 - 将头部注释区域的文件名行替换为动态取值的写法,后续不管创建时默认文件名是什么,头部都会自动匹配当前文件的实际名称。
如果不想修改Xcode内置模板,也可以自己制作一套用户级的Swift文件模板,存到~/Library/Developer/Xcode/Templates/路径下,升级Xcode的时候不会被覆盖。
- 打开Finder,按下
不建议为了解决这个问题降级Xcode版本,所有支持本地SPM集成的Xcode版本都存在这个默认创建逻辑的问题。
内容的提问来源于stack exchange,提问作者user5381191
相关产品推荐
相关产品推荐

