首页 > 解决方案 > Swift 包访问修饰符

问题描述

我创建了一个简单Swift Package的其中一个UI class

我设法上传到一个仓库并在一个项目中使用它。

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

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

我的问题:

这个包不像我的其他项目类吗?为什么应该与 一起使用public

有没有办法使用我的包类没有public access modifier

标签: swiftaccess-modifiersswift-package-managerswift-package

解决方案


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

TL;DR,不,如果您想使用该功能,则不能跳过使用公共访问修饰符


推荐阅读