ios - 如何创建静态库并可以在 ios 中的任何项目上添加 .a 文件

标签 ios xcode ios4 static-libraries objective-c++

如何创建静态库并在 ios 中的任何项目中只添加 .a 文件。

我试过这样做但做不到。

提前致谢

最佳答案

如果你想创建静态库意味着引用链接http://jaym2503.blogspot.in/2013/01/how-to-make-universal-static-library.html

第 1 步:创建一个新项目,将其命名为“Logger”

第 2 步:创建类

您可以创建任意数量的类,在我们的教程中,我们将创建一个名为“Logger”的类。 所以,现在我们的资源中应该有两个文件。 1.记录器.h 2.记录器.m

第 3 步:将一些有用的代码放入类中

第 4 步:创建新目标

从文件菜单创建新目标。

新目标 选择 Cocoa Touch 静态库

第 5 步:将文件添加到编译资源

选择静态库的“Logger”目标 转到构建阶段 在 Complied Sources 部分,添加所有 .m 和 .mm 文件。 在复制文件部分,添加所有 .h 文件和资源文件。

构建阶段

第 6 步:使用静态库目标编译项目

为 iOS 设备编译项目 为模拟器编译项目 您可以在构建文件夹中找到两个不同的 .a 文件。

查找.a文件

第七步:让静态库通用

您现在可以找到两个不同的库,一个用于模拟器,一个用于 iOS 设备。

创建一个新文件夹并将其命名为 LoggerMerge。 将 Debug-iphoneos 文件夹的 libLogger.a 文件复制到“LoggerMerge”,将其重命名为 libLogger_device.a 将 Debug-iphonesimulator 文件夹的 libLogger.a 文件复制到“LoggerMerge”,将其重命名为 libLogger_simulator.a 使用终端打开 LoggerMerge 文件夹 下令开火 lipo -create "libLogger_simulator.a""libLogger_device.a"-output "libLogger.a"

现在,您可以在LoggerMerge 文件夹中找到libLogger.a,这是通用静态库文件。 现在,你只需要一件事就是标题,见上面的截图,两个构建文件夹中都有一个名为 include 的文件夹。只需从该文件夹复制头文件即可。

第 8 步:测试静态库

新建项目,命名为TestLogger 导入 libLogger.a 和头文件 在任何你想使用的地方导入头文件“Logger.h” 现在,使用这个 Logger 类作为默认做法。 在我们的例子中,[Logger log:@"Test String"]; 在模拟器和设备中运行项目 而已!!你有自己的静态库!!

关于ios - 如何创建静态库并可以在 ios 中的任何项目上添加 .a 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17589359/

相关文章:

ios - 键盘打开时以编程方式提升 UI 文本字段

ios - 在 .xib 中的 UICollectionViewCell 中使用 IBOutlet 时出现 NSUnknownKeyException

ios - 嵌套的 UIScrollViews 和事件路由

ios - CloudKit 上传速度很慢

xcode - 为什么我不能再调整 View 大小了?

iphone - 如何合并Sqlite数据库中按日期排序的2个表的数据?

iphone - 从主屏幕而不是我们离开的屏幕重新启动应用程序

ios - 代码 : missing required module error

objective-c - 自定义 UIButtons 的有效方法

iphone - 自定义 editingAccessoryView 行为不可预测