objective-c – 为iOS和模拟器创建一个静态库以进行分发

前端之家收集整理的这篇文章主要介绍了objective-c – 为iOS和模拟器创建一个静态库以进行分发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果你为iOS创建一个静态库,你是否必须用它来分发头文件,还是有另一种方法让它工作?

目前我有一个my_lib.a文件用于设备和模拟器但是当我将它拖到另一个测试应用程序中使用它时,它说它找不到标题,我在代码中使用它的所有地方都是未申报.所以我认为我要么做错了,要么我还要用它发送相应的头文件.

我的流程背景:

我已经看到了两个为设备和模拟器创建静态库的指南.一个在这个网站上:Build fat static library (device + simulator) using Xcode and SDK 4+

一个在这里:http://mark.aufflick.com/blog/2010/11/19/making-a-fat-static-library-for-ios-device-and-simulator

我用第二个网站试试看.如果我做得对,我也有点好奇.我刚进入Release-iphone(os |模拟器)文件夹,在ios one中找到了.a,在模拟器中找到了.o.

解决方法

简短的回答是肯定的,你必须用你的静态库打包头文件.您必须使用任何库(动态或静态)打包头文件.库本身包含已编译的代码,但您仍然必须告诉编译器库中的标识符,因此在编译代码时它知道它们存在.

如果您在意,可以将静态库打包到静态框架中.您只需创建与动态框架相同的目录结构,使用.a文件代替.dylib(或.so)文件.框架包含标头的目录,因此您可以将二进制文件标题分发为单个包,并且可以轻松地从框架导入标题,而不会弄乱附加标题搜索路径构建设置.

猜你在找的C&C++相关文章