xcode静态库调试

[工程1]:静态库工程,用来生成xxx.a

[工程2]:项目工程,需要引入静态库xxx.a

工程2引入静态库的方法是将工程1生成的xxx.a和include头文件目录,加入到工程2中。

而如果需要在工程2中调试工程1的代码,则需要按照如下步骤操作:

(1)工程1编译成功后关闭,然后将工程1.xcodeproj文件,直接拖入工程2中;(同一个工程只能在一个地方打开,工程1需要关闭,不然在工程2中会无法展开)

(2)设置LinkBinaryWithLibraries属性:在BuildPhases/LinkBinaryWithLibraries下加入xxx.a;

(3)设置头文件搜索目录:BuildSettings/Search Paths/User Header Search Paths中添加工程1的目录,直接拖,然后选择recursive;

(4)然后便可以断点调试...

 

查看.a支持的架构:

  lipo -info xxx.a

 

Xcode静态库不向下兼容的问题:

  打包静态库时,Build Settings 中 Link Frameworks Automatically 把默认Yes 改成 No! 静态库就不会自动链接Metal了。

 

注意静态库文件的版本(4种):

  1.真机-Debug版本

  2.真机-Release版本

  3.模拟器-Debug版本

  4.模拟器-Release版本

 

小结:

  1.编译静态库:项目->Build Phases->Copy File->添加头文件

  2.模拟器编译时,挑选高版本(向下兼容,低版本不能在高版本运行)

  3.静态库分真机版本和模拟器版本(必须在对应的版本运行)

  4.合并真机版本和模拟器版本(常用)

  lipo -create 真机.a 模拟器.a -output 结果.a

  合并版本更大,开始时使用方便(所以可以开发时使用合并版本,发布时,使用真机版本)

  5.release版本和debug版本:

  debug版本:调试版本,没有任何优化,也就是说各种错误信息,都将抛出和检测,相对来说性能低一点,但是方便调试

  release版本:发布版本,进行了优化,执行效率更高

  提醒:实际开发当中,项目完成后,在debug版本上没有问题了,一定要去release版本上调试一下,否则也许可能发生一些bug。

参考链接:https://www.cnblogs.com/richard-youth/p/4856841.html

 

posted @ 2019-12-21 02:21  斯芬克斯  阅读(1237)  评论(0编辑  收藏  举报