在 运行 `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 {
我正在尝试使用 Swift 包管理器 创建一个示例,我正在其中创建一个小型 库 ,主机它在我的 github 上,然后使用这个库作为依赖来创建一个 可执行文件 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.swiftimport 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 {