美文网首页iOS开发SDK教程
iOS:SDK开发「静态库」

iOS:SDK开发「静态库」

作者: MccReeee | 来源:发表于2018-02-13 11:06 被阅读31次
    image.png

    本篇介绍如何制作一个简单的iOS静态库,其实写一个库和写一个iOS app程序本质上是一样的,可以认为把app中的大多数代码都去掉,留下最核心的就是库的代码。

    1 使用xcode创建工程时选择Cocoa Touch Static Library
    image.png
    • 工程创建后就能看到项目结构

    其实和普通的iOS工程一样, 不过TARGETS中是显示的一个静态库的图标
    将自己静态库的代码加入到项目路径下

    image.png
    2 新建的类OtherClass.hOtherClass.m默认是SDK内部的,但是如果在MccReeLib.h中引入OtherClass.h的话,因为MccReeLib.h是暴露出去的,所以OtherClass也要暴露出去.在target中进行把OtherClass.h加进去即可
    • 用到图片资源等也可以一并放入,记得勾选Add to targets
      image.png
    3 依赖其他三方库的话,使用Podfile来管理,pod install之后再打开可以看到引入的依赖库
    image.png
    4 静态库编译,选择模拟器编译时Products中会生成编译后的.a文件,右击Show in Finder可以看到Debug-iphonesimulatorsimulator字样的就是表示模拟器
    image.png
    • 编译真机使用的静态库时,选择Generic iOS Device即可,同样右击打开可以看到Debug-iphoneos就是真机可以使用的静态库

      image.png
    • 最后需要将模拟器编译出的静态库和真机编译出的静态库合并

    合并命令格式

    lipo -create 真机静态库 模拟器静态库 -output 指定合并后的文件
    

    完整命令

    lipo -create /Users/mccree/Library/Developer/Xcode/DerivedData/MccReeLib-ekyehwtlrjvgkcdxhctvuqmkzlxk/Build/Products/Debug-iphoneos/libMccReeLib.a /Users/mccree/Library/Developer/Xcode/DerivedData/MccReeLib-ekyehwtlrjvgkcdxhctvuqmkzlxk/Build/Products/Debug-iphonesimulator/libMccReeLib.a  -output /user/Desktop/libMccReeLib.a
    
    5 测试一下

    新建一个测试工程,把.a和头文件放进来,调用一下.h里的方法,运行成功.

    image.png

    最后放上demo地址MQL9011/SDK_Fun

    相关文章

      网友评论

        本文标题:iOS:SDK开发「静态库」

        本文链接:https://www.haomeiwen.com/subject/purjtftx.html