微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Ubuntu上快速安装CryptoKit

如何解决在Ubuntu上快速安装CryptoKit

我正在尝试将一个小的Swift程序“ main.swift ”编译为Ubuntu 18.08上的可执行文件。 我使用Swift Package Manager来管理我的依赖项。在这种非常简单的情况下,我只有一个依赖项,即此open-source CryptoKit我有一个swift文件,只是试图导入CryptoKit。

import Foundation
import CryptoKit
print("phew")

我的 Package.swift 文件如下所示:

// swift-tools-version:5.2

import PackageDescription

let package = Package(
    name: "decryp",dependencies: [
      .package(url: "https://github.com/apple/swift-crypto.git",.upToNextMajor(from: "1.0.1"))
    ],targets: [
        .target(
            name: "decryp",dependencies: ["swift-crypto"]
        ),.testTarget(
            name: "decrypTests",dependencies: ["decryp"]),]
)

当我尝试使用 swift build 生成可执行文件时,它会获取存储库,但由于未找到产品而出现错误快速构建的标准输出

Fetching https://github.com/apple/swift-crypto.git
cloning https://github.com/apple/swift-crypto.git
Resolving https://github.com/apple/swift-crypto.git at 1.0.2
'decryp' /home/kah/decryp: error: product 'swift-crypto' not found. It is required by target 'decryp'.
warning: dependency 'swift-crypto' is not used by any target

也许我缺少明显的东西?我仍然是快速世界的初学者。

解决方法

swift-crypto Package.swift提供了一个线索。 swift-crypto库的名称是“ Crypto”,所以我尝试使用它给出了错误:

 implementation project(':app')

但这说明了怎么做,所以当我将Package.swift更改为以下内容并导入“ Crypto”而不是“ CryptoKit”时,一切正常!

 error: dependency 'Crypto' in target 'decryp' requires explicit declaration; 
 reference the package in the target dependency with '.product(name: "Crypto",package: "swift-crypto")'

现在,借助swift-crypto团队,我可以将加密的消息从手机发送到服务器,然后在ubuntu笔记本电脑上本地解密!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。