Swift 包访问修饰符

Swift Package access modifiers

我创建了一个简单的 Swift Package,里面有一个 UI class

我成功上传到一个 repo 并在项目中使用它。

当我第一次尝试导入它并在主项目中使用它时,访问修饰符出现问题,因为我的 packagenot public 但定义为 class MainView: UIView {}

在我将我的包更改为 public class MainView: UIView {} 之后,它运行良好。

我的问题:

这个包和我的项目中的其他包不一样吗类?为什么要与 public 一起使用?

有没有办法在没有 public access modifier 的情况下使用我的包 类?

默认访问修饰符是“内部”,表示它在项目本身内。 Swift 包(框架)是您在项目中嵌套实施的第 3 方“项目”。这意味着您正在尝试访问另一个项目的代码。

TL;DR,不,如果你想达到功能

,你不能跳过使用 public 访问修饰符