Objective-c项目中的Swift:静态库不支持

时间:2015-11-04 17:51:34

标签: ios objective-c swift

我尝试将https://github.com/codestergit/SweetAlert-iOS/blob/master/SweetAlert/SweetAlert.swift中的swift文件导入现有的objective-c项目。

将文件添加到项目后,我尝试编译(只是添加文件而不做其他任何事情),我得到以下构建错误:

Swift is not supported for static libraries

我是swift的新手,并且不知道这个库是如何被标记为静态的,我应该做些什么来改变它并使其编译 - 我不需要它是静态的

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

您必须将Swift文件添加到框架或应用程序中。

由于从静态库导入Swift信息存在问题,Apple尚未实现构建和链接具有Swift代码的静态库。

答案 1 :(得分:0)

  

只需添加文件而不做其他任何事情

我不知道您添加的内容或添加内容的位置。但你想要做的是添加只是 SweetAlert.swift 文件 - 没有别的 - 你想把它作为添加到你的项目作为一部分您的应用目标

然后,您还需要接受创建桥接头的对话框,并将隐藏的桥接头导入到想要调用此代码的Objective-C代码中。

答案 2 :(得分:0)

问题出现是因为你使用了swate代码来实现objective-c项目。你会发现podsTarget pods / XXXX / XXX下的文件是swift文件。  例如,使用pod'ReactiveCocoa','2.1.8'而不是pod'ReactiveCocoa'

答案 3 :(得分:0)

当前运行时不附带操作系统,因此静态库将导致最终可执行文件中的多个运行时。 查看更多https://twitter.com/owensd/status/555060783407591424