所以,我在swift中创建了一个框架,起初我想使用单例类。我构建它并将.Framework文件放入一个新项目中进行测试。比我收到这个错误:
由于“内部”保护级别,'getInstance'无法访问
。我试图寻找有同样问题的人,但我找不到任何工作。可能是因为它是一个框架。经过几个小时没有意义的搜索,我放弃了单身人士,我和普通班级的错误几乎相同。
由于'私人'保护级别,'mySDK'初始化程序无法访问
我尝试将该类公开,初始化程序公开,但似乎没有任何改变。有人遇到过这样的问题吗?我之前从未使用过框架,所以也许它的obj-c标头必须要修改。如果您需要更多信息,请询问。
提前谢谢大家。
编辑:
这是getInstance函数。我只写它,因为mySDK.myInstance似乎给出了同样的错误。
static let myInstance = mySDK()
public static func getInstance() -> mySDK {
return myInstance
}
答案 0 :(得分:1)
我不知道导致错误的原因,但我设法通过创建一个新项目来修复它,而不是将代码从旧代码复制到新版本。
我找到了问题的根源。如果我在框架的构建设置中关闭了仅构建活动体系结构选项,它就给了我这个错误。
答案 1 :(得分:0)
您可以在这样的框架中创建单例类。请设置public Class和public static getInstance函数。
public class ClassName {
// Singleton instance
private static var instance : ClassName?
/********************* Singleton Instance ************************************/
public static func getInstance() -> ClassName {
if (instance != nil) {
return instance!
}
// Initialize instance.
instance = ClassName()
return instance!
}
}