Swift:使用私有框架

12

我使用Xcode构建了一个iOS Swift框架。

在编写代码后,我构建了项目并将“Products”文件夹中的.framework文件取出进行测试。

为了测试该框架,我打开了一个新的应用程序,并将先前构建的.framework文件拖放到其中,并将其添加到应用程序项目的嵌入式二进制文件列表中。

为了将它导入到我的ViewController.swift类中,我写了:

import frameworkName

目前为止没有问题,这意味着项目可以看到框架。 当我尝试在框架内使用公共类时,使用以下代码:

var x : className?

我遇到了以下错误:

'className' is unavailable: cannot find Swift declaration for this class

什么意思?有什么问题吗?


1
这个类被标记为公共类吗?你必须像这样拥有public class className {...}的东西。 - alinoz
你解决了这个问题吗? - Błażej
实际上不是,但我没有花时间去研究它。 - Antonio Romano
我已经添加了答案。这肯定没问题。请检查。 - Gopesh Gupta
你可以制作一个庞大的库,你可以查看此链接:https://dev59.com/Tpzha4cB1Zd3GeqPD1yK#54977145 - mohsen
2个回答

1
当您在工作区中从产品目录引用框架时,请确保位置为“已构建产品”,文件名只是框架名称,没有任何其他路径组件。
如果您正在引用不在工作区中的框架,我建议使用Carthage而不是直接将其复制到存储库中。这将使版本控制更加容易,并确保它在模拟器和设备上正确构建。

从他的描述来看,他似乎没有在同一个工作区内为框架和项目工作。 - jpittman

0

要实际使用自定义框架,你需要做很多事情。

首先,确保你的框架在正确的设备上使用。也就是说,框架只能在相应的设备(模拟器、设备和 Mac)上使用。换句话说,如果框架 A 是在模拟器上构建的,那么导入框架 A 的项目只能通过编译并成功构建在模拟器上。

P.S. 如果需要通用版本,-lipo 命令是你需要进一步探索的。

其次,在实现你的框架时,请确保所有想要在外部使用的类、方法和变量都以 Public 开头。

第三,在检查项目设置的 Embedded Binarieslinked Frameworks and Libraries 时,请确保包含了你的框架。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接