简体   繁体   中英

How to use dependencies in a Swift Package

I created a new Package with Xcode and incorporated a dependency, however when I try to use it, I get an error.

Swift 包错误

How do I use the dependency in the Package sources? In a normal project, I can easily import and use AgileDB.

Here's the Package:


// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "DBCore",
    products: [
        // Products define the executables and libraries a package produces, and make them visible to other packages.
        .library(
            name: "DBCore",
            targets: ["DBCore"]),
    ],

    dependencies: [
          .package(url: "https://github.com/AaronBratcher/AgileDB", from: "6.4.0")
    ],

    targets: [
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.

        // Targets can depend on other targets in this package, and on products in packages this package depends on.

        .target(
            name: "DBCore",
            dependencies: []),
        .testTarget(
            name: "DBCoreTests",
            dependencies: ["DBCore"]),
    ]
)

Perhaps the AgileDB package as a dependency in the target? I tried copying that and it won't recognize it.

Found my answer.

In the target dependencies, need to include the package name as a string:

        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
        // Targets can depend on other targets in this package, and on products in packages this package depends on.

        .target(
            name: "DBCore",
            dependencies: [
                    "AgileDB"
                ]),

        .testTarget(
            name: "DBCoreTests",
            dependencies: ["DBCore"]),
    ]

Step by step guide:

在此处输入图像描述

  1. Open project settings
  2. Click on "Package Dependencies"
  3. Click on the "Plus" icon and add your package in the window that opens
  4. Your added package should appear in the list

在此处输入图像描述

  1. Package should also appear under "Package Dependencies" in the left bar

在此处输入图像描述

  1. Click on your target
  2. Navigate to "General" tab and "Frameworks and Libraries" section under that
  3. Click on "Plus" icon and select/add your package in the window that opens
  4. Your added package should appear in the list

在此处输入图像描述

  1. Package should automatically be added in "Build Phases" tab under "Link Binary with Libraries" section. If it isn't add it by clicking the "Plus" icon

At this point you should be able to import and use the package in any of the files under this target.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM