为什么引进Plugin?
1. 系统在编译结束后,会link包含的framework,每个framework都被加载到该程序的objc运行环境下,这些是在程序运行前就已经完成了。如果我们期望在运行程序过程中加载新的framework,就需要使用plugin。 plugin ~ NSBundle
什么是Bundle?
束(bundle)是文件系统中的一个目录结构,它将程序会使用到的资源打包在一起。plugin的bundle默认以.bundle结尾
Plugin构架
我们可以通过多种途径来实现一个plugin:
1.定义一个objc protocol,让plugin遵守该plugin -- Our choice
2.定义一个基类,让plugin继承该基类
3.定义一个