Xcode导入Swift Package后无法识别部分类?求助解决方案
Swift Package 类识别异常排查方案
检查Fudge类的访问控制权限
Swift默认访问级别为internal,仅同一模块内可见。作为外部导入的包,必须确保Fudge类及需要外部调用的初始化方法添加public修饰符:public class Fudge { public init(number: Int) { // 初始化逻辑 } }只有
public/open修饰的成员才能被外部模块访问。核对Package.swift的模块配置
检查Package.swift中的target定义,确认源文件路径和列表无误:targets: [ .target( name: "PoopersLib", path: "Sources/PooperLib", // 注意目录名拼写是否与实际一致 sources: ["PoopersLib.swift", "Fudge.swift"] ) ]重点确认
path指向的目录是否与实际Sources下的目录名完全匹配(比如你提到的是PooperLib目录,但包名是PoopersLib,需避免拼写差异)。清理缓存并重新构建
- 按下
Cmd+Shift+K清理项目构建缓存 - 关闭Xcode,删除DerivedData目录(路径为
~/Library/Developer/Xcode/DerivedData) - 重新打开项目,重新添加Package依赖后执行
Cmd+B全量构建
- 按下
禁止手动复制文件到项目
手动复制源文件会破坏Swift Package的模块结构,导致依赖管理混乱,应始终通过Swift Package Manager维护依赖关系。
内容的提问来源于stack exchange,提问作者doHernandez
相关产品推荐
相关产品推荐

