Swift 包中的文件超出范围
Files in Swift Package out of scope
我创建了一个基本项目,其中包含与该项目相关的 swift 包(我们称它为“Foo”)。
我尝试从 Foo().text
从 AppDelegate
打印“hello world”
我得到一个错误:
"Cannot call value of non-function type 'module<Foo>' "
然后我尝试向这个包添加一个新的结构或 class,但我收到一个错误:"Cannot find {ObjectName} in scope"
Foo 内部的测试全部通过。
看来我错过了一些步骤。
您可能忘记将 Swift 包导入 AppDelegate
。
尝试将您的包裹的等价物放在 AppDelegate
.
的顶部
import Foo
根据此 Github Issue,(如果您使用的是 CocoaPods,但您没有在问题中说明。)
您必须在您的包裹中制作 class/struct public。
您可能还需要这样尝试:
Foo.bar()
Foo
是您的包名,bar
是其中的 class 或结构。
不要将模块与 public class(或结构)混淆。这听起来像是你在这里做的:
I create a basic project with a swift package (let's call it "Foo") related to this project and try print "hello world" from Foo().text
说 Foo()
意味着有一个 public class/struct 叫做 Foo。在那儿?我不这么认为。您可能有一个名为 Foo 的包,您import
。但这并不意味着 Foo 包有一个 public class (或结构) 称为 Foo.
例如,您可能会在包裹中看到这个:
struct Foo {
var text = "Hello, World!"
}
但这并不意味着你可以简单地import Foo
然后谈论Foo().text
,因为这个Foo不是public。
我创建了一个基本项目,其中包含与该项目相关的 swift 包(我们称它为“Foo”)。
我尝试从 Foo().text
从 AppDelegate
打印“hello world”
我得到一个错误:
"Cannot call value of non-function type 'module<Foo>' "
然后我尝试向这个包添加一个新的结构或 class,但我收到一个错误:"Cannot find {ObjectName} in scope"
Foo 内部的测试全部通过。
看来我错过了一些步骤。
您可能忘记将 Swift 包导入 AppDelegate
。
尝试将您的包裹的等价物放在 AppDelegate
.
import Foo
根据此 Github Issue,(如果您使用的是 CocoaPods,但您没有在问题中说明。) 您必须在您的包裹中制作 class/struct public。
您可能还需要这样尝试:
Foo.bar()
Foo
是您的包名,bar
是其中的 class 或结构。
不要将模块与 public class(或结构)混淆。这听起来像是你在这里做的:
I create a basic project with a swift package (let's call it "Foo") related to this project and try print "hello world" from
Foo().text
说 Foo()
意味着有一个 public class/struct 叫做 Foo。在那儿?我不这么认为。您可能有一个名为 Foo 的包,您import
。但这并不意味着 Foo 包有一个 public class (或结构) 称为 Foo.
例如,您可能会在包裹中看到这个:
struct Foo {
var text = "Hello, World!"
}
但这并不意味着你可以简单地import Foo
然后谈论Foo().text
,因为这个Foo不是public。