修改Xcode文件头部信息宏--Deprecated
记得在xcode编辑IDETemplateMacros.plist,我尝试在vscode里编辑,会报错,不知道是否是字符编码问题
The operation couldn’t be completed. (IDEFoundation.IDETemplateParseError error 1.)

如果你懒得写直接下载
链接:https://pan.baidu.com/s/1KmXRXXW6YPFEEM6i__Zv_Q 密码:5r57
放在对应的生效位置即可

一.新建IDETemplateMacros.plist
1.在Xcode中新建一个plist文件

2.命名为IDETemplateMacros.plist,先存为随意位置

3.编辑plist
root的Type默认为字典Dictionary,不应修改,新增键值对
key为FILEHEADER value的类型为默认的string

4.填写值的字符串
你可以在xcode里添加,也可以直接用源码方式编辑

这是我的
// Copyright © ___YEAR___年 ___ORGANIZATIONNAME___. All rights reserved.
//
// 文件名称:___FILENAME___
// 内容摘要:
// 文件作者:___USERNAME___
// 完成日期:___DATE___
存放作用范围的对应位置
作用于项目
- Project user data:
<ProjectName>.xcodeproj/xcuserdata/[username].xcuserdatad/
或者
- Project shared data:
<ProjectName>.xcodeproj/xcshareddata/
这地方要是gitignore没有忽略会共享给同事,适合团队协同同样的文件头。
作用于Wordspace
- Workspace user data:
<WorkspaceName>.xcworkspace/xcuserdata/[username].xcuserdatad/
- Workspace shared data:
<WorkspaceName>.xcworkspace/xcshareddata/
作用于所有的项目
- User Xcode data:
~/Library/Developer/Xcode/UserData/
文本宏参考
COPYRIGHT
项目的版权字符串,含团队的公司名称。如果没有公司名称,字符串为空。 如下所示,公司名被设置为“Apple”时,版权信息字符串长这样。
Copyright © 2017 Apple. All rights reserved.
DATE
当前时间
DEFAULTTOOLCHAINSWIFTVERSION
默认工具链使用的Swift版本
FILEBASENAME
没有扩展名的当前文件名称
FILEBASENAMEASIDENTIFIER
当前被编码为C识别符的文件名称。
FILEHEADER
被放在文本文件头部的文本
FILENAME
当前文件的全名。
FULLUSERNAME
当前macOS用户的全名
NSHUMANREADABLECOPYRIGHTPLIST
app target Info.plist文件中的便于人类识别的的版权字符串。在plist中该宏的值必须包含XML分隔符 有效值如下:
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2017 Apple, Inc. All rights reserved.</string>
注意 需要注意值需要另起一行
ORGANIZATIONNAME
provisoning profile的团队公司名。
PACKAGENAME
当前scheme编译的包名(package)
PACKAGENAMEASIDENTIFIER
当前scheme编译的c标识符编码版本包名
PRODUCTNAME
当前scheme编译的应用包名
PROJECTNAME
当前项目名称
RUNNINGMACOSVERSION
运行Xcode的macOS版本
TARGETNAME
当前target名
TIME
当前时间
USERNAME
当前macOS用户登录名
UUID
返回唯一ID.这个宏第一次使用在返回之前生成的ID。你可以通过修饰符用这个宏创建多个唯一ID。每个修饰符返回返回一个ID.例如,第一次使用 UUID:firstPurpose 修饰符, 这个宏结合宏和修饰符生成并返回一个唯一IDt。后续使用 UUID:firstPurpose 修饰符返回相同的ID。 新增UUID:secondPurpose 修饰符,将生成并返回一个不同于UUID:firstPurpose 的唯一ID。
WORKSPACENAME
当前wordspace的名称。如果只有一个项目,就是该项目名。
YEAR
当前4位数的年份
文本宏格式参考
文本宏可以包含任意有效unicode文本,也可以包含其他文本宏。 包含其他文本宏 包含其他文本宏,需要在宏名前后都添加三个下划线
修改文本宏扩展
你可以通过添加一个或者多个修饰符修改文本宏的尾部扩展。在文本宏后面写上冒号(:) ,可以给一个文本宏新增修饰符。多个修饰符用逗号隔开。如:
<MACRO>:<modifier>[,<modifier>]…
举个例子, 下面的宏将移除FILENAME路径扩展
FILENAME:deletingPathExtension
新增identifier宏,可以将上面编辑的宏转换为有效的C标识符:
FILENAME:deletingPathExtension,identifier
修饰符
bundleIdentifier: 用连字符替换非bundle识别符字符
deletingLastPathComponent: 删除尾部的路径部分
deletingPathExtension: 删除路径尾部扩展名
deletingTrailingDot: 删除尾部点
identifier: 用下划线替换任意非C标识符
lastPathComponent: 返回展开路径的尾部部分
pathExtension: 返回展开路径的扩展名
rfc1034Identifier: 用连字符(-)替换任意非rfc1034 识别符
xml: 用相应的转义字符替换特殊xml字符。例如, 小于号(<) 会被替换为 <