最近刚刚开始做ios的项目,接触到了xcode这个编译器。这个程序在App Store上的评分是2.5,我给出了一分。恕我直言,xcode简直是垃圾,感觉Visual Studio领先10年。

我在网上也看过了很多的资料,关于怎么引用第三方库,但是看得我也是眼花缭乱。有的是使用第三方管理程序cocoapods,看起来好像很好用的样子,本来还期望它能像NutGet一样方便,但是有点失望了。操作基本都是使用命令行,关键是我按照别人博客上说的操作了一波,结果不行。操作不仅不方便还会有一堆的问题。结果自己研究了一下,终于弄好了。

首先,我想使用Linq表达式,但是这个是.net的东西,在swift上是没有的,在github上找了一下,发现了一个sinq的库,应基本实现了linq表达式的基本功能。接下来我们用比较直接的方式去引用。

引用可以用两种方法,第一种是把第三方库的源码直接放到你的代码当中,但是这样子文件就会变得很多,不太推荐。第二种方法是把第三方库的源码编译成一个包,然后再引用包就可以了。

第一步:把第三方库的源码编译成一个包

我们先从github上克隆SINQ的项目下来,然后编译,我们可以看到在Products已经输出了一个资源包。现在我们已经把第三方库打成一个包了。




iOS Static Library 引入第三方库 xcode添加第三方库_github


第二步:在项目中创建引用目录

如果我们想把SINQ的库引入到test这个项目中,那么就在test这个项目的Build Phases ->link binary with libraries 下面的加号,随便引入一个库。然后就会生成一个Frameworks的文件夹,这个文件夹是专门用来方引用包的。


iOS Static Library 引入第三方库 xcode添加第三方库_源文件_02


第三步:添加到项目中

直接把SINQ.framework拖拽到我们的项目中的Frameworks文件夹


iOS Static Library 引入第三方库 xcode添加第三方库_第三方库_03


第四步:关于引用的默认配置

拖拽过来了之后会弹出一个提示框,打上钩就可以了。copy items if needed:勾选时会把文件拷贝到工程里,不勾选的话就是对源文件的直接引用,如果删除的话,源文件也会被删掉


iOS Static Library 引入第三方库 xcode添加第三方库_第三方库_04