zoukankan      html  css  js  c++  java
  • 打包和调试静态库(1)

       我们在导入友盟,地图,支付等等的SDK时,经常会看到xxx.a或者xxx.framework,这个就是静态库了。

       首先,什么是静态库。通俗一点讲呢,就是你要用别人写好的代码,但是人家不想让你知道具体是怎么实现的,就可以打成静态包,只暴露一个.h接口供你使用。当然静态库还有别的作用,比如你的工程中要用到大量的MRC,你又不能一个个手动把release等去掉,那怎么办呢?解决起来很简单,把用到的MRC文件打成静态包就搞定了!

       这里插一句,动态库与静态库是相对应的,我们在工程中经常会导入xxx.dylib(ios9之后就是xxx.tbd了,其实是一样的,只是苹果任性,改了个后缀,好在,原先的xxx.dylib运行也正常)和.xxx.framework(framework既可以是静态库,也可以是动态库),导入的就是是动态库。

       好了,现在正式开始打包!

       1.我们正常创建一个项目,然后(看下图)

          

          

        2.生成完后,你就能在你的工程里看到如下图

          

        3.现在你就可以在你的StaticDemo.h和.m中添加方法和实现了,注意对外暴露的方法都定义成类方法,如下图:

          

        4.注意 这个时候要选择如下图,然后分别选择真机和模拟器,分别Commond+B一下

          

        5.这个时候你就会看到  静态库libStaticDemo.a  由红变黑,说明已经生成动态库成功了!

          

        6.右击libStaticDemo.a-->show in finder,你会看到如下两个文件(iphoneos是真机,iphonesimulator是模拟器,真机情况下只能用真机的静态库,模拟器情况下只能用模拟器的静态库,否则会报错,有方法可以避免,后面讲)

          

        7.当然,只用这个静态库,你看不到里面的方法还是白搭,所以,点开include,你会看到.h文件

          这个时候你自己最好重新新建一个文件夹"lib",将.a和.h文件都放在同一个文件夹下,如果你的静态库里用到了类似图片的资源,那么就建立一个bundle文件夹,将用到的资源统一放在这个文件夹下,再将这个文件夹拖到文件夹"lib"下。

          

        8.这样,一个静态库就算搞定了,你用到静态库的时候,就把lib文件夹拖到你的工程里就OK了。

        当然,还有许多其他要注意的点,考虑到篇幅,我就放在下一篇继续讲了。

        

  • 相关阅读:
    古谚、评论与论断、名篇与名言
    重读《西游记》
    重读《西游记》
    命名之法 —— 时间、季节、地点
    命名之法 —— 时间、季节、地点
    文言的理解 —— 古时的称谓、别称、别名
    文言的理解 —— 古时的称谓、别称、别名
    Oracle GoldenGate for Oracle 11g to PostgreSQL 9.2.4 Configuration
    瀑布 敏捷 文档
    POJ 1325 ZOJ 1364 最小覆盖点集
  • 原文地址:https://www.cnblogs.com/xinjydeshow/p/5314315.html
Copyright © 2011-2022 走看看