如何向自定义Xcode项目模板添加自定义XCFramework及在TemplateInfo.plist中配置自定义框架
刚好我之前折腾过自定义Xcode项目模板,这两个操作其实是紧密关联的,给你一步步拆解,亲测好用:
一、把自定义XCFramework放进模板目录
首先得把你的XCFramework文件安置到模板的正确位置,确保新建项目时能被自动复制过去:
- 先找到你的自定义模板目录:一般在
~/Library/Developer/Xcode/Templates/Project Templates/下面,你自己的模板文件夹就在这里面(如果没有就手动建)。 - 在模板根目录下新建一个
Frameworks文件夹,把你的MyCustomFramework.xcframework直接拖进去。最终模板结构大概是这样:
MyAwesomeTemplate/ ├── Frameworks/ │ └── MyCustomFramework.xcframework ├── TemplateInfo.plist ├── ___PROJECTNAME___.xcodeproj/ └── ...(其他模板相关文件)
- 别忘确认XCFramework的完整性,比如是否包含了所有需要的架构(arm64、x86_64这些),避免后续编译踩坑。
二、在TemplateInfo.plist里配置框架
这一步是核心,要让Xcode知道怎么把这个框架关联到新建的项目中,主要改两个地方:
1. 添加文件节点到项目中
找到plist里的Nodes数组(如果没有就手动创建),添加一个字典项,告诉Xcode要把XCFramework复制到新项目的指定路径:
<dict> <key>Path</key> <string>Frameworks/MyCustomFramework.xcframework</string> <key>TargetIndices</key> <array> <integer>0</integer> <!-- 0对应项目的第一个Target,也就是主Target,按需调整 --> </array> </dict>
2. 配置Target的框架依赖与嵌入
找到plist里的Definitions字典,找到你主Target对应的配置项(一般是___PROJECTNAME___开头的key),添加Frameworks数组,配置框架的嵌入和关联:
<key>Frameworks</key> <array> <dict> <key>AbsolutePath</key> <string>$(PROJECT_DIR)/$(PROJECT_NAME)/Frameworks/MyCustomFramework.xcframework</string> <key>Embed</key> <string>YES</string> <!-- 如果是iOS/macOS App需要嵌入框架,设为YES;如果是纯库项目可以设为NO --> <key>EmbedVariant</key> <string>Embed</string> <key>Group</key> <string>Frameworks</string> <key>Name</key> <string>MyCustomFramework.xcframework</string> </dict> </array>
额外注意事项
- 如果你的XCFramework依赖系统框架(比如
UIKit、Foundation),不用额外配置,Xcode会自动处理;但如果依赖其他自定义框架,要把那些框架也按同样的方法加入模板。 - 修改完plist后,一定要重启Xcode,不然模板缓存会导致配置不生效。
- 如果想让用户创建项目时可选是否添加这个框架,可以在
TemplateInfo.plist的Options数组里加一个开关选项,不过如果是强制添加的话就不用折腾这个了。
内容的提问来源于stack exchange,提问作者RCBS
相关产品推荐
相关产品推荐

