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

Swift Package Manager归档疑问:如何生成含产物的归档包?

Swift Package静态库归档无产物问题解决

问题原因

你的问题确实和SKIP_INSTALL构建设置直接相关。Swift Package Manager(SPM)默认会给库类型的Target设置SKIP_INSTALL = YES,这个配置会让Xcode在归档流程中跳过将产物安装到归档包的指定目录,因此本地编译正常,但导出的归档包中找不到静态库文件。

解决方法

要在SPM中禁用SKIP_INSTALL,需在Package.swift的Target配置里添加settings字段,显式将该设置改为NO。修改后的完整配置代码如下:

let package = Package(
    name: "SPMBasedA",
    products: [
        .library(
            name: "SPMBasedA",
            type: .static,
            targets: ["SPMBasedA"]),
    ],
    targets: [
        .target(
            name: "SPMBasedA",
            settings: [
                .buildSetting("SKIP_INSTALL", "NO")
            ]
        )
    ]
)

后续操作步骤

  • 修改配置后,重新在Xcode中打开该Swift Package
  • 清理构建缓存(快捷键:Cmd+Shift+K)
  • 重新执行归档操作,导出归档包后,即可在对应平台的产物目录(如iOS平台的Products/Library/Frameworks)找到静态库文件

关于操作是否有误

你之前的操作本身没有错误,问题根源是SPM的默认构建设置导致归档时不包含产物,只需调整配置即可解决。

内容的提问来源于stack exchange,提问作者Isaaс Weisberg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:55:12