iOS开发技术讨论iOS学习一下

iOS开发之-静态库

2015-05-21  本文已影响964人  Joson_Ju

今天我们来了解一下iOS开发当中的静态库。。。
首先有这么几个问题大家需要了解:

静态库是什么?
静态库有什么作用?为什么要用静态库?
如何打包静态库文件?

【静态库是什么】

简单来说。。。一个静态库是若干个类,函数,定义和资源的包装,你可以将其打包并很容易的在项目之间共享。。。大家平时开发中看到的.a文件。。。其实也就是一个静态库文件。。。

在开发的过程中我们会发现。。。有时候你导入了一些第三方框架。。。只看到.h文件。。。却找不到.m文件的踪迹。。。但是却可以成功地运行起来。。。这是为什么呢?

其实。。。那些.m文件早已被包装在.a文件当中。。。

【静态库有何作用 | 为什么要使用静态库】

首先。。。在不同项目的开发当中。。。我们也许会用到同样的几个类。。。这时候。。。为了节省项目的开发时间。。。我们会把这几个常用类进行打包。。。当我们又需要用到的时候只要导入项目当中就可以了。。。

其次。。。你希望你的这几个类可以跟朋友们一起分享。。。但是又不想让别人看到你的源代码。。。(这点私心是很正常的。。。小编偶尔也会有。。。)把它们打包成静态库文件是一个不错的选择。。。

综上所述。。。静态库具有以下特点(这也是大家之所以使用静态库的原因。。。):

你可以让一些通用代码处在自己的掌控中。。。必要时可以对其进行修复和更改;
你可以跟朋友分享资源。。。同时可以避免别人盗用你的代码;
你可以为项目开发节省出更多的时间。。。加快项目的进度;

【如何打包静态库文件】

对于打包静态库文件。。。其流程其实也是比较简单的。。。

首先打开我们的Xcode。。。选择创建一个新的项目工程。。。
但是要注意的是。。。我们要选择的不再是Application。。。而是选择Framework&Library下的Cocoa Touch Static Library(如图)。。。



点击之后。。。在弹出界面中有两个单选框(Use Automatic Reference Counting和Include Unit Tests)。。。在点击Next之前。。。请确保Use Automatic Reference Counting被选中且Include Unit Tests未选中。。。

点击Next后。。。我们会发现在项目Product文件夹下有一个.a文件。。。



当你把你要打包的类放入到项目中之后。。。command+B一下。。。然后到本地把.a文件和.h文件找出来。。。这样在之后的项目当中就可以直接使用了。。。

可是。。。到了这一步。。。似乎还有什么问题。。。

一般情况下。。。模拟器和真机上用的不是同一套静态库文件。。。这就意味着。。。每次需要使用这个静态库的时候。。。都要导入两个静态库文件。。。😤😤

那么。。。这个问题我们该如何处理?😥

这时候。。。我们只需要打开我们的终端输入以下代码

lipo -create 模拟器用.a文件路径 真机用.a文件路径 -output 最终生成的.a文件路径

运行之后打开生成的.a文件的路径。。。就可以看到文件了。。。之后的开发中就不再需要导入两个.a文件了。。。😺😺😺

上一篇:iOS开发中可能会用到的一些函数。。。

上一篇下一篇

猜你喜欢

热点阅读