iOS工程中创建并使用一个SDK,俗称.a文件
创建一个静态库工程
打开Xcode,点击File\New\Project,选择iOS\Framework and Library\Cocoa Touch Static Library新建一个静态库工程.
将工程命名为LCSConnectLib,然后将工程保存到一个空目录下。
一个静态库工程由头文件和实现文件组成,这些文件将被编译为库本身。
当创建静态库工程时,Xcode会自动添加LCSConnectLib.h和LCSConnectLib.m。你不需要实现文件,因此右键单击LCSConnectLib.m选择delete,将它删除到废纸篓中。
自定义一个控件LCSCustomEnvironmentView
其实当前的工程就已经可以用了,是时候为你的库添加一些功能了。例如添加了一个自定义的view这样用户可以直接用这个自定义的view,而不能知道里边具体怎么实现的。
对你的控件的头文件需要做的另一件事是将其添加到库的主头文件LCSConnectLib.h中。在这个主头文件的帮助下,开发者使用你的库仅仅需要导入一个头文件,如下面的代码一样,而不是自己去选择自己需要的一块导入。
接下来就生成静态库
1、静态库分为手机和模拟器两种(手机端的只有手机能调用,模拟器的只有模拟器能调用)。
首先,构建模拟器的静态库,如图
选中模拟器,然后command+B,然后点击show in Finder
之后我拿到这个.a文件 还有和他相关的所有.h文件,存放在一个新的文件夹里
现在呢,将这个文件拖到你要应用了工程中,引入头文件发现我没用.m文件依然可以使用这个自定义的控件LCSCustomEnvironmentView
但是,这样只能给模拟器使用。如果我们使用真机,立马会报错,当然是库不支持真机了。然后选中真机command+ B再来一次
你就会发现 LCSConnectLib.a 变黑了。
重复之前的步骤 就可以在手机上运行了(但是,模拟器又不能用了。。。。)
接下来,我们就来生成一个双方都能用的LCSConnectLib.a
终端操作:
首先,打开终端,看一下各个版本信息
、
果然只是支持x86_64的,然后看看生成的手机版本的信息
果然手机版本的支持arm7 arm64的,如果我想手机模拟器和手机同时支持呢?肯定要合并这两个包
合并完成后命名为NewLCSLib,然后查看下这个包的属性
果然现在既支持arm7 arm64又支持x86_64了。然后手机模拟器切换测试发现不报错了。搞定。。。