Cocoapods管理IOS依赖库

Cocoapods管理IOS依赖库,第1张

终端输入主要命令 sudo gem install -n /usr/local/bin cocoapods 进行安装。

参考: CocoaPods安装方法

(1)在Xcode项目中生成Cocoapods配置文件

在终端定位到项目目录,输入 pod init 命令后就会在项目目录下生成cocoapods的配置文件 Podfile 实现集成工作。如图所示:

(1)将所需库添加至配置文件Podfle

备注 :SWRevealViewController是用O-C写的,故在swift项目中需进行桥接

(1)在主工程下新建一个Objective-C的桥接头文件(如命名为h.m)后会自动出现一个Ofo-demo-Bridging-Header.h文件,此时可把h.m已无用可删除。

(1)侧边栏组件: SWRevealViewController

(2)其它侧边栏组件:一般OC的比较稳定一点。

公司开发的SDK,是集成了各个平台的商品,包括购买、分享、提现等功能,为了加快进度,我是使用了一些第三方。但是有些需求,比如分享到微信朋友圈或者还有,必须用到微信的SDK。考虑到后期的维护成本和集成,笔者采用了cocoapods管理第三方库。

笔者有片文章专门介绍SDK的开发步骤的,大家可以参考,我这里就直接进入主题了。

首先,你创建一个静态的framework工程MyTestSDK,把这个工程集成cocpapods,至于如何集成cocpapods,网上有教程,自己搜索。这个时候把你项目中所用的第三方库添加到Podfile文件中,然后 pod install。这个时候你command + B 编译运行,如果你的第三方库中还有Bundle资源,那么编译后,第三方库的bundle资源会被编译,一起放到Products文件下的framework文件中,右键Show in Finder就会看到。如下图所示的MBProgressHUD文件夹,里面都是MBProgressHUD第三方的资源文件。

然后把你的项目放入SDK工程中,编译运行一下,看看有没有错误。之所以先把SDK工程选用cocoapods管理,就是怕你的项目放入SDK中运行报错。没有任何问题,直接编译即可。

由于SDK中的第三方是通过cocoapods管理的,所以接入者的项目也要用cocoapods管理。

1:把SDK工程中,Products文件夹下的framework文件copy到项目中,最好项目中建立一个文件夹,专门放SDK和bundle。我是放到了一个文件夹中,方便分类寻找。如下图所示:

2:打开终端,cd到SDK所在的文件夹下,执行如下命令,回车,创建spec文件。

其中,MyTestSDK是你的SDK名称。

创建出来的spec文件,是个很长的文件,但是大部分都是注释的,我这里只提取了有用的信息展示出来:

然后把spec中依赖的第三方库,逐个加入到项目中的Podfie文件中。然后 终端打开,cd到自己的项目中,pod install即可。

本人亲自测试过的,No Problem。当初感觉SDK如果依赖了第三方库,接入的项目中也有同样的第三方库,会不会冲突啊,感觉好难搞啊。事实证明,通过spec进行依赖,可以很好的解决这个问题,也就没有那么麻烦了。

首次开发SDK还是遇到了很多问题,运行出现很多bug,但是最后还是一一解决了,就是没有记录下bug和解决发的方法。

1;path路径不对,就会报错 ,如下

是因为我把路径写成了:

其实正确的写法是:把“/”放在前面

2:SDK中有第三方,但是项目中的Podfile里面没有这个第三方,报错如下所示:

解决办法是就是在项目中的 Podfile里面加入缺失的第三方库,重新 pod install。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11436896.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存