Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在swift build中使用本地包_Swift - Fatal编程技术网

如何在swift build中使用本地包

如何在swift build中使用本地包,swift,Swift,我不熟悉swift,并逐渐了解它的诀窍。我想了解如何向本地包添加依赖项。我做了以下工作: 我使用swiftpackeinit--type executable创建了两个包TestA和TestB 我将TestB中的Package.swift更改为在包依赖项中使用.Package(路径:“../TestA”),当我编译TestB包时,它抱怨如下: 然后我用git初始化了TestA并添加了一个标记 然后我在它的包.swift中使用.package(url:../TestA“,from:“1.0.0”)

我不熟悉swift,并逐渐了解它的诀窍。我想了解如何向本地包添加依赖项。我做了以下工作:

  • 我使用
    swiftpackeinit--type executable创建了两个包TestA和TestB
  • 我将
    TestB
    中的
    Package.swift
    更改为在包依赖项中使用
    .Package(路径:“../TestA”)
    ,当我编译
    TestB
    包时,它抱怨如下:
  • 然后我用git初始化了TestA并添加了一个标记
  • 然后我在它的
    包.swift中使用
    .package(url:../TestA“,from:“1.0.0”)
    来添加依赖项。这次构建解析了本地包,但抱怨几乎相同

    Fetching /Users/vk/Work/Languages/Swift/tmp/TestA
    Cloning /Users/vk/Work/Languages/Swift/tmp/TestA
    Resolving /Users/vk/Work/Languages/Swift/tmp/TestA at 1.0.0
    'TestA' /Users/vk/Work/Languages/Swift/tmp/TestB/.build/checkouts/TestA: error: package 'TestA' contains no products
    
    那么,我们如何将本地包添加到swift构建中呢? 谢谢
    Valentin.

    TestA应创建为
    --类型框架
    ,并至少包含一个函数。在TestB中,您需要
    导入TestA
    (不知道是否需要调用函数表单TestA以消除警告)好的,如果TestA是我克隆的git存储库,我如何将其转换为类型框架呢?下面是我看到的:
    swift package init--type framework
    错误:参数的未知值'framework'--类型;使用--help打印用法
    如果我使用帮助:
    swift package init--help
    概述:初始化新包年龄
    选项:
    `--name提供自定义包名``--type empty | library | executable | system module | manifest `抱歉…
    library
    ,而不是framework(然后他们将在framework folders下创建一个包,因此会出现错误)据我所知,您不能在第二个项目中导入可执行文件,包依赖项应该是库(框架),如本地UIKit或基金会。如果您在Git中找到可执行文件,则不将其视为依赖项,而是克隆它并将其直接更改为您的Puffice。
    git init
    git add .
    git commit -m "First commit"
    git tag 1.0.0
    
    Fetching /Users/vk/Work/Languages/Swift/tmp/TestA
    Cloning /Users/vk/Work/Languages/Swift/tmp/TestA
    Resolving /Users/vk/Work/Languages/Swift/tmp/TestA at 1.0.0
    'TestA' /Users/vk/Work/Languages/Swift/tmp/TestB/.build/checkouts/TestA: error: package 'TestA' contains no products