Swift:导入框架但无法在其中找到类

时间:2017-07-06 03:50:02

标签: ios swift xcode

我将一个swift框架导入到一个swift项目中,但是当我在这个框架中调用该类时,Xcode会抛出一个编译错误"使用未声明的类型' xxxx(类名)' "

我觉得Xcode找到了框架,否则会抱怨"找不到xxx(框架名称)"。

但是为什么Xcode无法找到这个框架的类。

我尝试删除并重新添加框架,并删除DeivedData文件,但所有这些文件都不起作用。我还没有使用CocoaPods来导入框架。

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

在为发布(而非调试)构建的框架中,需要访问类符号。

确保您要尝试从Swift框架访问Public或Open类。

// set the Framework class to Public
public class rnHello{  

    // set the initializer to public, otherwise you cannot invoke class
    public init() {  

    }

    // set the function to public, as it defaults to internal
    public static func world() {  
        print("hello from a static method")
    }
}

现在,您可以通过您的Swift代码或使用以下方式附加lldb来访问它:

lldb) po rnHello.world()

答案 1 :(得分:1)

确保项目的BuildSettings中的FrameWorkSearch路径反映了框架的正确路径。

答案 2 :(得分:0)

将框架移到项目目录中,然后重新链接。