首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Swift软件包管理器导入模块

使用Swift软件包管理器导入模块
EN

Stack Overflow用户
提问于 2017-11-13 15:37:30
回答 2查看 4.7K关注 0票数 0

我正在尝试使用Swift的包管理器在我的项目中导入外部模块。我的第一个模块来自蒸汽工程。我似乎没办法让它起作用。我一开始

代码语言:javascript
复制
swift package init
swift package generate-xcodeproj

我的Package.swift看起来是这样的:

代码语言:javascript
复制
import PackageDescription

let package = Package(
    name: "OpenTools",
    products: [
        .library(
            name: "OpenTools",
            targets: ["OpenTools"]),
    ],
    dependencies: [
        .package(url: "https://github.com/vapor/json.git", from: "2.0.0")
    ],
    targets: [
        .target(name: "OpenTools", dependencies: ["JSON"]),
    ]
)

然后我跑

代码语言:javascript
复制
swift package update
swift package generate-xcodeproj # to regenerate with dependencies

然后尝试在我的主文件中导入JSON包

代码语言:javascript
复制
import JSON

模块在那里,如下所示,但是导入返回时出现了一个No such module 'JSON'错误。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-13 16:13:40

问题可能在Xcode中,因为它还不知道JSON是否存在,因为它还没有构建。这可以很容易地通过构建您的项目(使用cmd-B)来解决。使用生成的xcodeproj,Xcode应该知道它首先需要构建JSON,然后是其余的,因为JSON被标记为目标的依赖项。

您可以通过在Xcode中导航到您的目标(当您单击项目描述文件时),然后再导航到“构建阶段”来检查这一点。在“目标依赖项”下,您应该找到您的JSON模块。

此外,您还应该在目标下找到一个JSON模块,它编译从github收集的源代码。

在项目根中执行swift build时,您的项目也应该构建。

票数 5
EN

Stack Overflow用户

发布于 2019-10-08 19:48:47

使用Xcode 11,您应该能够直接打开Package.swift,这将为您验证包清单(又名Package.swift文件)和编译目标提供了一个试验场。这将有助于了解究竟是什么导致了阻止编译模块的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47268035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档