使用DocC为SPM包生成文档时无法识别目录,无着陆页求助
解决SPM包中DocC着陆页不显示的问题
1. 核对DocC目录的命名与结构
- 确保DocC目录名称为
[你的目标名称].docc,必须和SPM目标的名称完全一致(区分大小写) - 目录内必须保留自动生成的
DocumentationCatalog文件,不要手动修改或删除它的关联逻辑 - 着陆页文档(如
Overview.md)需放在.docc目录的根层级,Xcode模板创建的目录默认已完成该关联配置
2. 修正Package.swift的配置
- 在目标配置中,将DocC目录作为资源引入:
targets: [ .target( name: "MyTarget", resources: [.process("MyTarget.docc")] ), // 其他目标配置 ] - 若使用DocC插件,需在Package.swift中声明插件依赖并启用:
// 在Package顶层添加插件依赖 plugins: [ .plugin(name: "Swift-DocC", package: "swift-docc-plugin") ], // 在目标中启用插件 .target( name: "MyTarget", plugins: [.plugin(name: "Swift-DocC")] )
3. 修复命令行预览问题
- 确保命令执行时当前工作目录在SPM包的根目录下,且目标名称完全匹配
- 清除缓存后重新执行预览命令:
rm -rf .build swift package --disable-sandbox preview-documentation --target MyTarget
4. Xcode内预览的调整
- 使用
Cmd+Ctrl+Shift+D生成文档前,确认Xcode目标选择器中选中的是SPM包的对应目标,而非工作区其他目标 - 执行
Cmd+Shift+K清理项目缓存后,重新生成文档
内容的提问来源于stack exchange,提问作者bobby123uk
相关产品推荐
相关产品推荐

