如何创建静态库并且可以在 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 步:创建新目标
从文件菜单创建新目标。
新的 Target Select Cocoa Touch 静态库
第 5 步:将文件添加到编译资源
选择静态库的“记录器”目标转到编译源部分中的构建阶段,添加所有 .m 和 .mm 文件。在 Copy Files 部分,添加所有 .h 文件和资源文件。
构建阶段
第 6 步:使用静态库目标编译项目
为 iOS 设备编译项目 为模拟器编译项目 您可以在构建文件夹中找到两个不同的 .a 文件。
查找 .a 文件
第 7 步:使静态库通用
您现在可以找到两个不同的库,一个用于模拟器,一个用于 iOS 设备。
创建一个新文件夹并将其命名为 LoggerMerge。将libLogger.a
Debug-iphoneos 文件夹的文件复制到“LoggerMerge”,将其重命名为 libLogger_device.a 将libLogger.a
Debug-iphonesimulator 文件夹的文件复制到“LoggerMerge”,将其重命名为 libLogger_simulator.a,使用终端火打开 LoggerMerge 文件夹,命令 lipo -create“ libLogger_simulator.a
”“ libLogger_device.a
” -输出“ libLogger.a
”
现在,您可以在 LoggerMerge 文件夹中找到 libLogger.a,这是通用静态库文件。现在,您只需要一件事就是标题,请参见上面的屏幕截图,在两个构建文件夹中都有一个名为 include 的文件夹。只需从此文件夹中复制头文件即可。
第 8 步:测试静态库
创建新项目,将其命名为 TestLogger 导入和头文件在您要使用的任何地方libLogger.a
导入头文件“ ” 现在,将此 Logger 类用作默认做法。Logger.h
在我们的例子中,[Logger log:@"Test String"]; 在模拟器和设备中运行项目就是这样!!你有自己的静态库!!
第 1 步:启动新的静态库项目
打开 XCode 并开始一个新项目。在iOS下,选择Library,“Cocoa Touch Static Library”说它为“staticlibrary”。这将为我们创建一个很好的新项目来构建一个.a
文件。
第 2 步:编写静态库代码 首先我们需要添加一些文件。向您的项目添加一个新的 NSObject 子类并将其命名为 StaticClass。然后在这些文件中编写一些有用的代码。
第 3 步:构建和分发您的库 一旦您对您的库感到满意,只需在 XCode 中构建它。显然,不要构建和运行,因为您无法运行它(同样,除非您有测试套件)。现在,查看 XCode 中的 Products 组,您应该会看到一个名为 lib(libraryName).a 的文件。在我们的例子中,它是libstaticlibrary.a
.
右键单击该文件并选择“在 Finder 中显示”。将此文件拖到您创建的新文件夹中,您将在其中捆绑所有库文件。现在,对所有 .h 文件执行相同操作。在我们的例子中,只需复制StaticClass.h
到这个新目录中。您的目录结构现在应该如下所示:
FolderName
|- libstaticlibrary.a
|- StaticClass.h
现在你可以压缩这个文件夹并以数百万美元的价格卖给潜在的 iOS 开发者!
第 4 步:在新项目中链接您的库 现在您已经构建了闪亮的新静态库,是时候在另一个应用程序中测试它了。
创建一个新的基于视图的项目(或其他无关紧要的项目)。将其命名为测试。
现在,只需将此文件夹拖到项目中,XCode 就会自动设置所有链接。当提示复制时,我通常会说是,但您可以根据您打算如何使用库来做任何您想做的事情。如果您有多个项目共享一个库,有时仅链接而不是复制会更有益。它确保他们都使用最新的版本。
您现在应该.a
在新项目中看到该文件以及头文件。
第 5 步:使用静态库代码
现在所有的链接都设置好了,您只需像使用任何其他类一样使用您的库。
如需进一步说明 http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial 希望本教程对您有所帮助。
Xcode 版本 10.2.1
关注部分Create Objective-C static library
关注部分Swift consumer with Objective-C static library
将模块导入到 Objective-C 客户端代码[module_name]
@import module_name;
//or umbrella or public header
#import <module_name/module_name.h>