有时候我们坐SDK 开发,有时候呢,我们又做SDK 的二次开发,那么问题来了,如何能够在一个demo 中,做多个SDK 的开发,又如何去管理多个SDK 呢?
不知道有没有人被这个困扰过,反正小编我最初做SDK 开发的时候,就被困扰了,而且是十分困扰。
废话不多少,直接开始进行步骤
(1) 创建一个workspace 工程

暂且 随意 命名为 CHTestSDK.xcworkspace 吧。创建成功的效果如图

(2)将SDK 工程交有xcworkSpace 管理,一种是将现有的SDK 直接添加

另一种是在当前的workSpace 中新建Project 工程。

成功后的效果图

那么如何在 这个Demo中将运行添加Framework 和 Bundle 文件呢?

直接将bundle 文件添加至 demo中 注意不要勾选 copy items if needed ,至于为什么,别问,问了就是走弯路。哈哈哈。其实是为了方便操作,直接运行demo ,不用每次都拖bundle 。不然你会烦死。当然仅仅做这个操作还是不够的,还有一步,就是添加


这是一个小技巧,这样你在bundle 文件中添加的资源文件,或者XIB 中有所改动,就不需要每次都去编译bundle 工程或者重新拖拽生成的bundle 文件。
同理,framework 文件也可以这么操作,不过framework 即使不在binaries 中添加,也可以在编译demo 的时候,自动更新。别问为啥,一个字,就是炸。
到了这个时候,肯定你会有另一个惊奇的问题,那就是,如果sdk 中依赖别的类库,比如 SDWebImage 这种怎么办呢。那就推荐你使用cocoaPods 管理项目了。CocoaPods 不会使用的,看这里CocoaPods

配置相对应的Podfile 。即可公用,当然,你在demo 中获取了,SDK 中可以直接使用,应为都是xcworkspace管理的。
这样就可以边开发边看效果,不用盲写了。哈哈哈哈哈。OK ,如果有啥不会的,请给我留言。
网友评论