公司最近需求:完整版的项目代码需要给别人使用,但是不希望别人看到源码
解答:需要以库的形式进行封装,只暴露出头文件
语言背景:Object-C
记录封装库的历程吧,希望一路顺畅😂
- 查看了一下静态库,动态库与 Framework的定义区别。
——>需要把项目代码封装成静态库。 - 参考iOS 完整项目制作Framework
- 创建和使用静态库
...
我的操作:
- 创建一个Cocoa Touch Framework
- 把之前除了appdelegate以及ViewController等项目文件导入工程。
自己动手创建静态库粗线的问题:
- 如果直接封装静态库Cocoa Touch Static Library,后缀为.a。项目中使用了charts框架,不能识别导入charts.workspace文件
封装成Cocoa Touch Framework。
- OC类中找不到charts中的文件
预编译一下,在Products中,右键单击 项目.framework,在Header文件夹中找到 项目-Swift.h,这个文件中包含有swift的全部类,导入工程中。(摸索中,不知道凑效不)
- 之前写入.pch文件,可以预编译的类,不能使用了
在报错的文件中导入需要的文件类。这样太麻烦了,有可能是我对封装过程理解的不够。之后后话吧/(ㄒoㄒ)/~~
- 最头痛的问题:由于framework里边不能导入APPdelegate,所以之前在APPdelegate中的属性不能使用,有关跳转到根目录的操作不能完成。现在还没有解决方法。
原因:由于打包类库工程不是一个完整项目工程,所以并没有AppDelegate等文件,所以涉及到这些的文件要额外处理,或改代码,或适当改变功能。
网友评论