资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

ios开发三方库,ios sdk开发使用第三方库

iOS开发:SDK依赖第三方库及其踩过的坑

公司开发的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。

iOS 项目导入第三方库

前提是cocoapods 已经安装。

1.打开终端 cd 项目路径,进入到项目里。

2.touch podfile。

3.找到文件中的podfile,然后

target 'personexe' do  //personexe为项目名称

pod 'Masonry'          //Masonry为导入的地方库

end

4.终端(还是在项目里)pod install。

iOS-常用第三方库解读

框架图

主要类关系图

主要类介绍:

AFURLSessionManager

推荐参考这篇文章 AFNetworking源码分析 ,从源码分析角度分析AFNetworking的实际作用。关于AF的相关博文网上非常多,跟着文章指导动手实践一番,要比只看文章来的容易点。

在之前文章《图片缓存框架》内容符合SDWebImage的设计原理。从SDWebImage学习缓存框架的设计思路,另外也可以查看YYImageCache也许会有不同的收获。推荐文章[《SDWebImage源码解析

ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。

信号 :代表一连串的状态,RAC中的核心类RACSignal

在状态改变时,对应的订阅者RACSubscriber就会收到通知执行相应的指令。 推荐优秀的文章

AsyncDisplayKit 是 Facebook 开源的一个用于保持 iOS 界面流畅的库。可以查看优秀的博文 AsyncDisplayKit-看云文档

参考文章

iOS 制作自己的Framework(引入第三方库)

一、创建工程并新建Framework Target

二、创建测试工程

Framework制作好了,我们需要一个Target测试一下吧。那么直接在刚刚创建的这个工程里面,新建一个Single View APP的Target就好了。

三、引入第三方库

如果我们在制作Framework的时候,需要用到第三方库怎么办呢?网上有轮子,而且有专人维护,总比我们自己造的强。但是如果公司有条件的话,最好是不引入第三方库。

我们在引入第三方库的时候,使用cocoapods进行管理,假设我们的SDK需要AFNetworking这个库,按下面操作引入。

四、创建Framework打包脚本

五、运行

六、导出Framework给他人使用

本文完结。喜欢点个喜欢吧~~

iOS 解决三方库文件冲突的方法

最近项目里在集成三方库的时候出现了两个库文件冲突的问题。A库的静态包里 包含了util.o文件 B库是个动态库,也包含了个util.o文件。拆分删掉了A库里的冲突文件并重新生成了A库,解决了问题,记录下解决方案,以作后用。

打开命令行工具:

输出结果为:

得到四个文件,如图:

查询结果如下图所示(冲突文件为arm64架构下的Utils.o文件)

至此,整个流程完成。冲突问题解决~


当前题目:ios开发三方库,ios sdk开发使用第三方库
文章地址:http://cdkjz.cn/article/hoggpd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220