怎样将原有app的代码打包成静态库(一)
最近公司接到一个需求,需要将已有的一个app的代码打包成静态库,然后放在合作商的app下面,实现一个类似子app的插件。即点击合作商app里面某个按钮,即可进入我们的app,这个插件的功能要求跟原有app的功能几乎完全一样,那么怎么去实现这个需求了?
刚开始博主接到这个需要,想了想需要解决的问题:
1、图片资源访问,因为原有app获取图片,都是用的默认的UIImage的方式,那么插件要与原有app的代码共享,不可能用两套代码,相互copy。
2、怎样将xib打包?
3、插件和原有app的入口不一样了,该怎样处理?
4、插件代码与商户app中的代码冲突,该怎样处理?
那么下面来看看制作静态库的具体步骤:
1、打开Xcode,新建workspace,这个是为了管理静态库,demo以及原有app工程。新建的workspace名字叫PluginWork。
2、引进已有的工程代码,在写文章之前已经做好了一个工程CodeMan。
此时选择你要引进的工程的工程文件,此处添加的是CodeMan.xcodeproj。如果你看见的效果不似下面的图,你可以重启下Xcode后再查看效果。
3、因为我们需要一个测试插件的工程,所以新建一个工程叫PluginDemo。一个注意的地方就是在新建工程时,选择存储的文件时需要选择工程的Group应该为workspace,而不是其他工程。
4、只剩下静态库插件了,那么就选中PluginDemo工程,新建选择Framework$Library,建一个静态库叫CodeManPlugin,此时静态库的Group应该选择为PluginDemo。
新建好后的目录结构如下:
至此,原有工程,插件示例工程以及插件都已经新建好,并布置好了结构,但是还没有做好各个工程之间的依赖关系,那么下一篇文章将讲述各工程之间的依赖,以及如何设置依赖等等。
这一篇就到此。