You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode 16.2生成静态文档站点时index.html为空(.doccarchive及JSON数据均有效)

Xcode 16.2生成静态文档站点时index.html为空(.doccarchive及JSON数据均有效)

嘿,我之前给iOS项目做GitLab Pages静态文档的时候,刚好碰到过和你一模一样的问题——用Xcode 16.2导出的index.html要么是空的,要么只有几KB大小,但.doccarchive能在Xcode里正常预览,data/documentation/swiftfulcrypto/下的JSON数据也都完整存在。折腾了好一阵,终于摸出几个能解决问题的办法,你可以挨个试试:

  • 检查导出命令的参数配置
    我当时是用xcodebuild docbuild命令导出的,后来发现漏了关键的--hosting-base-path参数。因为GitLab Pages的站点路径如果不是根域名的话,静态文档得知道自己的基础路径才能加载到JSON数据。比如你的GitLab Pages地址是你的用户名.gitlab.io/SwiftfulCrypto,那导出命令里必须加上--hosting-base-path SwiftfulCrypto,同时搭配--transform-for-static-hosting参数。另外还要确认-destination指定的是generic/platform=iOS,避免目标配置不对导致的异常。

  • 验证doccarchive的入口配置
    虽然你说.doccarchive能正常预览,但可以再检查下它的内部配置。右键点击.doccarchive选择“显示包内容”,找到里面的Info.plist,查看DCCDocumentationTargetIdentifier字段,这个值必须和你的SwiftfulCrypto项目主目标的Bundle ID完全一致。我之前就是文档目标的标识符写错了,导致导出静态站点时找不到文档入口,index.html自然就加载不出内容。

  • 清理DerivedData后重新导出
    Xcode 16.2的docbuild模块有时候会残留旧的缓存数据,干扰新的导出流程。你可以手动删掉项目对应的DerivedData文件夹,路径一般是~/Library/Developer/Xcode/DerivedData/SwiftfulCrypto-*,删掉之后再重新执行导出命令,大概率能解决缓存导致的异常。

  • 确认GitLab Pages的部署路径
    如果是通过CI/CD部署到GitLab Pages,要确保CI配置里的artifacts路径正确指向静态文档的输出目录。比如你的静态文件导出在build/docs/static目录下,那CI脚本里的artifacts部分要写成:

    artifacts:
      paths:
        - build/docs/static
    

    同时要保证index.html在Pages的根路径(或者你指定的base path子目录)下,不然GitLab Pages会找不到主页面。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 13:09:30