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

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

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

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

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

          

          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拖到你的文件夹里,会自动生成。

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

        

  • 相关阅读:
    android游戏开发框架libgdx的使用(十二)—TiledMap地图的使用
    android游戏开发框架libgdx的使用(十一)—Skin和UI配置文件的使用
    子句判断、启动强度和去模糊化AForge.NET框架的使用(三)
    分享从网上收集的一些游戏资源,以RPG类为主
    android游戏开发框架libgdx的使用(十六)—使用TexturePacker工具加快开发速度
    android游戏开发框架libgdx的使用(十三)—TiledMap中的角色和角色移动
    Ajax实现评论的顶和踩功能
    Jelastic支持java的PaaS
    真心好用的VS扩展NuGet
    分享几篇文章(PDF版)
  • 原文地址:https://www.cnblogs.com/xinjydeshow/p/5315730.html
Copyright © 2011-2022 走看看