从 swift cocoa touch 框架导入 jwt

Posted

技术标签:

【中文标题】从 swift cocoa touch 框架导入 jwt【英文标题】:import jwt from swift cocoa touch framework 【发布时间】:2018-12-04 10:29:32 【问题描述】:

我正在使用 swift cocoa touch framework 从移动应用程序创建可重用的框架。

我的框架需要使用来自https://github.com/vapor/jwt.gitjwt项目

我尝试创建Package.swift,然后添加.package(url:"https://github.com/vapor/jwt.git", from: "3.0.0"),然后运行swift package resolve

在我的代码中,我像这样导入 jwt 库

import JWT
import Foundation

但我收到了错误No such module 'JWT'

我是swift的新手,有人可以帮忙吗?

我的 Package.swift 在这里

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

import PackageDescription

let package = Package(
    name: "edoc-sdk-swift",
    products: [
        // Products define the executables and libraries produced by a package, and make them visible to other packages.
        .library(
            name: "edoc-sdk-swift",
            targets: ["edoc-sdk-swift"]),
    ],
    dependencies: [
        .package(url:"https://github.com/vapor/jwt.git", from: "3.0.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 which this package depends on.
        .target(
            name: "edoc-sdk-swift",
            dependencies: ["JWT"]),
        .testTarget(
            name: "edoc-sdk-swiftTests",
            dependencies: ["edoc-sdk-swift"]),
    ]
)

【问题讨论】:

它不适用于jwtJWT @user28434 从 git 下载项目并手动添加这个文件夹 jwt/Sources/JWT/ 到你的项目中 【参考方案1】:

你应该检查两件事:

    模块名称是JWT, not jwt。 检查Package.swift 中的.target 是否包含dependencies 中的"JWT"

【讨论】:

它不适用于jwtJWT,我已在详细信息中添加了我的Package.swift 我刚刚创建了新的空白项目名称edoc-sdk-swift 并使用了您的Package.swift 并编译了它。 @AlongkornChetasumon @AlongkornChetasumon,虽然在生成的 Xcode 项目中存在 Xcode 错误,但在第一次构建后它就消失了。 您可以尝试使用 xcode 创建cocoa touch framework,并尝试包含此JWT 吗?【参考方案2】:

感谢大家的反馈。

现在我可以解决问题了,我将解决方案写到这个博客

https://piggyman007.blogspot.com/2018/12/create-swift-framework-and-include-some.html

【讨论】:

以上是关于从 swift cocoa touch 框架导入 jwt的主要内容,如果未能解决你的问题,请参考以下文章

构建纯 Swift Cocoa Touch 框架

带有嵌入库的 Cocoa Touch Framework Swift

在 Cocoa Touch 框架中包装静态库

《从零开始学Swift》学习笔记(Day 63)——Cocoa Touch设计模式及应用之单例模式

如何解决 Cocoa touch 框架中的符号名称冲突

Cocoa Touch 框架无法在嵌入项目中的模拟器上调试