斯威夫特软件包管理器,添加本地依赖性

问题描述:

在蒸汽项目,我的文件夹结构如下:斯威夫特软件包管理器,添加本地依赖性

Package.swift 
Sources/ 
    -App/ 
    -Module1/ 
     -File1.swift 
     -File2.swift 
     -File3.swift 
    -Module2/ 
     -File4.swift 
     -File5.swift 
     -File6.swift 

在他们每个人添加2个模块后,我编辑了package.swift文件是以下:

let package = Package(
    name: "myapp", 
    targets: [ 
     Target(name: "App", dependencies: ["Module1", "Module2"]) 
    ], 
    dependencies: [ 
     // Some external dependencies 
    ], 
    exclude: [ 
     // Excludes 
    ] 
) 

导入2个局部模块工作正常,但是当我尝试使用任何功能/包含在其中的对象,我得到一个“未解决的标识符错误”

我错过了什么?

您还需要声明Module1Module2作为目标。

targets: [ 
    Target(name: "App", dependencies: ["Module1", "Module2"]), 
    Target(name: "Module1"), 
    Target(name: "Module2") 
], 
+2

记住暴露你要以模块为室外使用任何功能的“公共” – Makaronodentro

+1

@Makaronodentro你应该编辑成答案(和还提到开放) – Mark

+0

@Makaronodentro @马克您actaully不需要如果你只是用@testable而不是@️作为前缀,你可以用'open'或'public'作为前缀 – eonist