Я пытаюсь создать внешнюю библиотеку swift, полную функций, которые можно вызывать в других проектах. Я выполнил основные шаги по созданию библиотеки в Swift
Я запустил
swift package init
мой package.swift выглядит как
import PackageDescription
let package = Package(
name: "TestProject",
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "TestProject",
targets: ["TestProject"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
.target(
name: "TestProject",
dependencies: []),
.testTarget(
name: "TestProject",
dependencies: ["TestProject"]),
]
)
изапустил swift package generate-xcodeproj
для создания проекта.
затем загрузил проект в Github и загрузил его в другой проект с помощью Swift Package Manager. Он загрузился просто отлично.
Я создал простой проект SwiftUI для тестирования моей библиотеки. в библиотеке я добавил функцию
func test() -> String{
return("This was good!")
}
, а затем в проекте, в своем файле ContentView.swift я добавил import TestProject
в операторах импорта (которые были построены правильно) и попытался вызвать test()
в файле, установив значение по умолчанию Text("Hello World")
на Text(test())
, чтобы посмотреть, будет ли оно работать.
Мне было выдано сообщение об ошибке, в котором говорилось, что test()
не является определенным
Использование неразрешенного идентификатора 'test'
Я не уверен, где я ошибаюсь, когда импортирую свою библиотеку, и я обнаружил удивительно мало, пытаясь посмотреть
мой файл TestProject.swift, расположенный в `/ Sources / TestProject / 'и сгенерированный swift для файла init
struct SwiftSciduct {
var text = "Hello, World!"
}
func test() -> String{
return("This was good!")
}
мой файл contentView.swift
import SwiftUI
import TestProject
struct ContentView: View {
var body: some View {
Text(test())
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
Вид в недоумении, почему эта функция не используется в основном проекте.