在 运行 `swift build` 依赖项被 class 下载后未找到

After running `swift build` dependencies are downloaded by class is not found

我正在尝试使用 Swift 包管理器 创建一个示例,我正在其中创建一个小型 ,主机它在我的 github 上,然后使用这个库作为依赖来创建一个 可执行文件 Swift 程序。

这是我的设置:

图书馆

MyXMLHelper.swift
class MyXMLHelper {

  static func enclose(text: String, withXMLTag tag: String) -> String {
    let openingTag = "<\(tag)>"
    let closingTag = "</\(tag)>"
    return openingTag + text + closingTag
  }

}
Package.swift
import PackageDescription

let package = Package(
  name: "XMLHelper"
)

也欢迎您在我的 github.

上查看原始版本

可执行文件(命令行)

main.swift
import XMLHelper

print("Please enter a text you would like to enclose: ", terminator: "")
let text = readLine()!

print("Please enter the XML tag: ", terminator: "")
let tag = readLine()!

let result = MyXMLHelper.enclose(text: text, withXMLTag: tag)
print("Result: \(result)")
Package.swift
import PackageDescription

let package = Package(
  name: "XML_application",
  dependencies: [
    .Package(url: "https://github.com/nikolasburk/xml-util",
             majorVersion: 2),
  ]
)

运行swift build之后,文件夹结构如下:

所以,swift build 成功下载了依赖项,但是它也给我以下错误:

/Users/nburk/Projects/makeschool/tutorials/swift-package-manager-demo/xml-app/main.swift:9:14: error: use of unresolved identifier 'MyXMLHelper'
let result = MyXMLHelper.enclose(text: text, withXMLTag: tag)
             ^~~~~~~~~~~
<unknown>:0: error: build had 1 command failures
error: exit(1): /Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2016-08-24-a.xctoolchain/usr/bin/swift-build-tool -f /Users/nburk/Projects/makeschool/tutorials/swift-package-manager-demo/xml-app/.build/debug.yaml

有人知道这是为什么吗?为什么它找不到 class MyXMLHelper,它不应该在这里可见吗?

这可能是因为您的 class 不是 public。

MyXMLHelper.swift中应该这样声明:

public class MyXMLHelper {

或者,如果你希望能够子class它(Xcode 8 beta 6):

open class MyXMLHelper {