所以,我在swift中做了一个框架,一开始我想用一个单例类。我构建了它并将 .Framework 文件放入一个新项目中进行测试。比我得到这个错误:
'getInstance' is inaccessible due to 'internal' protection level
.我试着寻找有同样问题的人,但我发现没有任何效果。可能是因为它是一个框架。经过数小时无意义的搜索后,我放弃了单例,并且在普通类中遇到了几乎相同的错误。
'mySDK' initializer is inaccessible due to 'private' protection level
我尝试公开类,公开初始化程序,但似乎没有任何改变。有人遇到过这样的问题吗?我以前从未在框架上工作过,所以可能是必须修改的 obj-c header 。如果您需要更多信息,请直接询问。
提前谢谢大家。
编辑:
这是 getInstance 函数。我只写了它,因为 mySDK.myInstance 似乎给出了同样的错误。
static let myInstance = mySDK()
public static func getInstance() -> mySDK {
return myInstance
}
最佳答案
我不知道是什么导致了这个错误,但我设法通过创建一个新项目来修复它,而不是将代码从旧的复制粘贴到新的。
我找到了问题的根源。如果我在框架的build设置中关闭了 build active architecture only 选项,它给了我这个错误。
关于ios - 框架中的单例错误 : initializer is inaccessible due to 'private' protection level,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49917505/