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

如何在同一Xcode项目中同时包含Swift Package与iOS Target?

在Xcode中创建包含Swift应用与Swift Package的项目

下面提供两种可行的实现路径,解决你创建Swift Package后无法添加其他Target的问题:

路径一:先创建Swift应用,再添加本地Swift Package

  • 打开Xcode,选择「Create a new Xcode project」,挑选「iOS App」「macOS App」等应用模板完成项目创建。
  • 在左侧项目导航栏,右键点击项目根目录或空白区域,选择「New File...」。
  • 在模板窗口中找到「Swift Package」(可在「Multiplatform」分类下快速定位),点击「Next」。
  • 填写Package名称,选择存储位置(建议放在项目根目录下方便管理),勾选「Add to」并选择当前项目,点击「Create」。
  • 此时项目已同时包含应用Target和Swift Package,还可在应用的「Frameworks, Libraries, and Embedded Content」中添加该Package,实现代码调用。

路径二:先创建Swift Package,再添加应用Target

如果已经创建了纯Swift Package项目,可通过以下两种方式添加应用Target:

方式1:修改Package.swift配置

  • 关闭Xcode,找到Package所在文件夹,右键选择「Show Package Contents」,打开Package.swift文件。
  • 在Package的targets数组中,添加应用Target的配置,以iOS SwiftUI应用为例:
    targets: [
        // 原有Package Target
        .target(
            name: "YourPackageName",
            dependencies: []),
        .testTarget(
            name: "YourPackageNameTests",
            dependencies: ["YourPackageName"]),
        // 添加iOS应用Target
        .executableTarget(
            name: "YouriOSApp",
            dependencies: ["YourPackageName"],
            path: "Sources/YouriOSApp",
            plugins: [
                .plugin(name: "SwiftUIPlugin", package: "SwiftPMPlugins")
            ],
            resources: [.process("Resources")]
        )
    ]
    
  • 手动在Package文件夹下创建Sources/YouriOSApp目录,添加main.swift作为应用入口:
    import SwiftUI
    import YourPackageName
    
    @main
    struct YouriOSApp: App {
        var body: some Scene {
            WindowGroup {
                ContentView()
            }
        }
    }
    
    struct ContentView: View {
        var body: some View {
            Text("Hello from Package: \(YourPackageClass.someMethod())")
        }
    }
    
  • 保存Package.swift后重新打开项目,Xcode会自动识别新的应用Target。

方式2:转为Xcode工作区(Workspace)

  • 打开已有的Swift Package项目,点击菜单栏「File」→「Save as Workspace...」,保存为Workspace文件。
  • 在Workspace中,点击「File」→「New」→「Project...」,选择应用模板并添加到当前Workspace。
  • 在应用项目中,通过「Add Packages...」选择本地的Swift Package完成关联。

注意事项

  • 关联后需确保应用Target能访问Package代码,可在应用的Build Phases中确认已添加Package依赖。
  • 若为SwiftUI应用,Package中的视图可直接在应用界面中引用。

内容的提问来源于stack exchange,提问作者Berry Blue

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:50:24