Ios Swift:使用私有框架
我用Xcode构建了一个iOS Swift框架 在编写代码之后,我构建了这个项目,并将.framework文件放在Products文件夹中进行测试 为了测试框架,我打开了一个新的应用程序,拖放了以前构建的.framework文件,并将其添加到我的应用程序项目的嵌入式二进制文件列表中 要将其导入我的ViewController.swift类,我编写了:Ios Swift:使用私有框架,ios,swift,frameworks,Ios,Swift,Frameworks,我用Xcode构建了一个iOS Swift框架 在编写代码之后,我构建了这个项目,并将.framework文件放在Products文件夹中进行测试 为了测试框架,我打开了一个新的应用程序,拖放了以前构建的.framework文件,并将其添加到我的应用程序项目的嵌入式二进制文件列表中 要将其导入我的ViewController.swift类,我编写了: import frameworkName 在这里之前没有问题,这意味着项目可以看到框架。 当我尝试在框架内使用公共类时: var x : cla
import frameworkName
在这里之前没有问题,这意味着项目可以看到框架。
当我尝试在框架内使用公共类时:
var x : className?
我得到以下错误:
'className' is unavailable: cannot find Swift declaration for this class
这是什么意思?问题是什么?当您从工作区中引用products目录中的框架时,请确保位置为“Build products”,文件名仅为框架名称,而不包含任何其他路径组件
如果您引用的框架不在您的工作区中,我建议使用,而不是将其直接复制到您的存储库中。这将使版本控制更加容易,并将确保为模拟器和设备正确构建版本。要实现自定义框架,您确实需要做很多事情 首先,确保在正确的设备上使用ur框架。也就是说,框架只能在相应的设备上使用(模拟器、设备和Mac中的任何一个)。换句话说,如果框架是在模拟器上构建的,那么项目导入框架A只能通过编译并在模拟器上成功构建 另外,如果需要通用版本,-lipo命令是您需要进一步探索的 第二,在实现ur框架的过程中,确保您希望在外部使用的所有类、方法和变量都从
Public
开始
第三,检查ur项目设置
嵌入式二进制文件
和链接框架和库
是否包含ur框架。类是否标记为public?你一定有类似于公共类的类名{…}你解决了这个问题吗?实际上没有,但我没有花时间在它上面,我已经添加了答案。这是肯定的。请检查您是否可以创建fat库,您可以看到以下链接:从他的描述中,听起来他不像是在同一个工作区中为框架和项目工作。