星空网 > 软件开发 > 操作系统

打包和调试静态库

                              我们接着上一次的讲...

    1.上一次说过,真机的静态库只能在真机上用,模拟器的静态库只能在模拟器上用,所以,就先讲一下生成了真机和模拟器的.a静态库后,怎样避免来回拖拽真机和模拟器的静态库到工程里,也就是直接拖拽一个静态库就行。

    解决方法:利用命令行语句 

      1.切换路径,到Products目录下

      打包和调试静态库images/loading.gif' data-original="http://images2015.cnblogs.com/blog/828921/201603/828921-20160324121734776-572529984.png" width="406" height="30" />

      2.合并静态库

      打包和调试静态库

     这句命令行理解起来并不难,我大体说一下,lipo -create 要合并的静态库1 要合并的静态库2 -output 合并后的静态库文件名,注意,默认保存到当前目录下。

       打包和调试静态库

 

     这样合并完的静态库就搞好了,只要把lib中的静态库替换成这个staticDemo.a的静态库,然后拖入你的工程中就可以随意用了。不过,由于是合并的静态库,大小肯定并比合并之前的大,会让你的项目也跟着变大,所以在真实项目要打包的时候最好还是根据需求来,这里只是告诉大家这么一个办法可以解决,自己平常可以用。

    2.上一个图,我们能注意到我们生成的静态库文件夹都是Debug-xxx,这个Debug代表的是调试,还有一种发布Release状态,那如何生成呢?

      打包和调试静态库

      打包和调试静态库

    然后在分别在模拟器和真机下Command+B一下,就可以生成了。生成后显示如下图:

      打包和调试静态库

    Release的用法和Debug的基本一致。那么他们两个有什么区别呢???

    比较正经的说法是:

      调试版本会包含完整的符号信息,不会对代码进行优化

      发布版本不会包含完整的符号信息,代码是会进行优化的。

    比较通俗的说法是:调试版本会把你程序中的NSLog这样的打印语句也会执行,而发布版本就不会。

    3.调试静态库

      现在我们Command+R运行一下,会出现两个错误。

      打包和调试静态库

      怎么解决呢?(解决完就可以调试我们的静态库函数了)

      很简单,只要配置一下就好了,如图:

        打包和调试静态库

      加完这两项就真的ok啦!

     4.打包.framework和.a的步骤很像。等有时间我在更新一个.framework的,说一下注意点就行啦。

      .framework和.a的区别就是.framework不需要你手动将.h和bundle拖到你的文件夹里,会自动生成。

      打包和调试静态库就到这了!!

    

 




原标题:打包和调试静态库

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

领工云商:https://www.goluckyvip.com/tag/37562.html
领航保:https://www.goluckyvip.com/tag/37563.html
领航货代:https://www.goluckyvip.com/tag/37564.html
领航猿:https://www.goluckyvip.com/tag/37565.html
领聚数字LinkJoint:https://www.goluckyvip.com/tag/37566.html
领科沃德:https://www.goluckyvip.com/tag/37567.html
瑞典VAT税号的有效期是多久?:https://www.xlkjsw.com/news/91234.html
哪些可以帐篷的景点 哪些地方可以搭帐篷:https://www.vstour.cn/a/407244.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流