为iOS创建一个静态库并分发模拟器

如果你为iOS创建一个静态库,你是否必须分配头文件或者有另一种方法来使它工作?

目前我的设备和模拟器都有一个my_lib.a文件,但是当我将它拖入另一个测试应用程序以使用它时,它说它找不到头,并且我在代码中使用它的所有位置都是未申报。 所以我想我要么做错了什么,要么我必须发送适当的头文件。

我的过程背景:

我已经看到了两个为设备和模拟器创建静态库的指南。 一个在这个网站上:使用Xcode和SDK 4 +构建fat静态库(设备+模拟器)

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

我用第二个网站来试用。 如果我做得正确,我也有点好奇。 我刚进入Release-iphone(os | simulator)文件夹,并在模拟器中找到了.a和i.o中的.o。


简短的答案是肯定的,你必须用你的静态库打包头文件。 实际上,您必须将任何库的头文件打包为动态或静态。 库本身包含已编译的代码,但是您仍然必须告诉编译器库中的标识符,以便在编译代码时知道它们存在。

如果你在意,你可以把你的静态库打包成一个静态的框架,并且小心一点。 您只需使用.a文件替代.dylib(或.so)文件,即可创建与动态框架相同的目录结构。 框架包含标题目录,因此您可以将二进制文件和标题作为单个包分发,并且您可以轻松地从框架中导入标题,而不会混淆其他标题搜索路径构建设置。


以防万一它有用 - 我遵循了Ray Wenderlich的指示,并且能够为iOS提供支持多种体系结构的框架(包括模拟器)。 说明有点太长,只能在这里复制粘贴。

链接地址: http://www.djcxy.com/p/3875.html

上一篇: Creating one static library for iOS and simulator for distribution

下一篇: Spring lookup method injection with parameters