创建一个静态库工程
打开Xcode,点击File\New\Project,选择iOS\Framework and Library\Cocoa Touch Static Library新建一个静态库工程.
![](https://img.haomeiwen.com/i1078068/8b4b9dcf6e2e9edf.png)
将工程命名为JFTestSDK,然后将工程保存到一个空目录下。
![](https://img.haomeiwen.com/i1078068/05f271bc424cfa14.png)
一个静态库工程由头文件和实现文件组成,这些文件将被编译为库本身。
当创建静态库工程时,Xcode会自动添加GGTestSDK.h和GGTestSDK.m。你不需要实现文件,因此右键单击GGTestSDK.m选择delete,将它删除到废纸篓中。
![](https://img.haomeiwen.com/i1078068/11a36628517aab63.png)
创建一个PopMoneyView控件
其实当前的工程就已经可以用了了,是时候为你的库添加一些功能了。由于本篇教程的关键在于教你怎么样创建一个GGTestSDK.a,而不是怎么样
构建一个UI控件,这里你可以使用你自己封装好的控件。将你的控件从Finder中拖到Xcode下GGTestSDK目录下。
![](https://img.haomeiwen.com/i1078068/cc9e902d78fe6f5b.png)
这里有一点要注意了,这里一定要勾选以下三个选项:
![](https://img.haomeiwen.com/i1078068/c8c8621cfbd8ba0c.png)
然后点击 Finish 进入工程:
![](https://img.haomeiwen.com/i1078068/632bea6cc86d997e.png)
对你的控件的头文件需要做的另一件事是将其添加到库的主头文件GGTestSDK.h中。在这个主头文件的帮助下,开发者使用你的库仅仅需要导入一个头文件,如下面的代码一样,而不是自己去选择自己需要的一块导入。
![](https://img.haomeiwen.com/i1078068/112447cbea5854c4.png)
接下来就生成静态库
1、静态库分为手机和模拟器两种(手机端的只有手机能调用,模拟器的只有模拟器能调用)。
首先,构建模拟器的静态库,如图
点击libJFTextSDK.a com+b编译就会变黑了
![](https://img.haomeiwen.com/i1078068/b52cc24f6bbafc7e.png)
然后show in Finder
![](https://img.haomeiwen.com/i1078068/f4ae01ddafa520bc.png)
之后我拿到这个.a文件 还有和他相关的所有.h文件,存放在一个新的文件夹里(随便起名越吊越好。我的是:mySDK(我还不想辞职))如下
![](https://img.haomeiwen.com/i1078068/9bee92cf76fdab55.png)
现在呢,你就可以拿着这个文件夹去挥霍了。将他拖到你要应用了工程中:
![](https://img.haomeiwen.com/i1078068/4133059f0cb61670.png)
你以为这样就完事了吗。哼哼,我就知道瞒不住你们,上面已经提到了,只能在模拟器上运行,如果我们链接手机:
![](https://img.haomeiwen.com/i1078068/27aa37716048b6ae.png)
![](https://img.haomeiwen.com/i1078068/a301602722032f6c.png)
我滴天,这都是什么鬼?可怕的报错信息又来了。其实没什么,对于这些报错信息,不要慌,他都是有关键点的,这个不多说了,有点跑题。上文说了这是由于我们
生成.a文件的时候,是生成的模拟器版本的,想要在手机上用就要生成手机版本的,那么手机版本的怎生成呢?(我都不好意思说了)看图吧,别打我就行。
![](https://img.haomeiwen.com/i1078068/3c186fbc7f04703b.png)
改成Device 构建构成(command + B)你就会发现 libGGTestSDK.a 变黑了。
重复之前的步骤 就可以在手机上运行了(但是,模拟器又不能用了。。。。)
接下来,我们就来生成一个双方都能用的libGGTestSDK.a
首先,打开终端,复制以下命令
lipo -create /Users/sfy/Library/Developer/Xcode/DerivedData/GGTestSDK-gjmfufrwwxxwbpbigyezzbclphzv/Build/Products/Debug-iphoneos/libGGTestSDK.a /Users/sfy/Library/Developer/Xcode/DerivedData/GGTestSDK-gjmfufrwwxxwbpbigyezzbclphzv/Build/Products/Debug-iphonesimulator/libGGTestSDK.a -output /Users/sfy/Desktop/libGGTestSDK.a
网友评论