iOS开发之-静态库

作者: Joson_Ju | 来源:发表于2015-05-21 16:12 被阅读964次

    今天我们来了解一下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开发中可能会用到的一些函数。。。

    相关文章

      网友评论

        本文标题:iOS开发之-静态库

        本文链接:https://www.haomeiwen.com/subject/nvwlqttx.html