iOS工程 SDK的创建、使用

ONE SDK的设计总体分为3层: 平台层-Platfrom layer,适配层-Porting layer,核心层-Common layer。

我们所使用的是 平台层-Platfrom layer。一般为了针对不同平台提供给开发者,和平台一致API规范,使各平台的开发者无难度的集成SDK,例如我们会提供Java给Android,Objective-C 给IOS和MAC, C++ 给Linux、 IOT平台



在OS X上,可能会创建一个动态连接(Dynamically Linked)的framework。通过动态连接,framework可以更新,不需要应用重新连接。在运行时,库中代码的一份拷贝被分享出来,整个工程都可以使用它,因此,这样减少了内存消耗,提高了系统的性能。
这是一个功能强大的特性。

iOS工程中的SDK,俗称.a文件。创建、使用一个SDK。

环境:Xcode Version 8.1 (8T61a) (网上的demo大多数都是老版本的)


操作:

  • 1.创建一个静态库工程
    打开Xcode,点击File\New\Project,选择iOS\Framework & Library\Cocoa Touch Static Library新建一个静态库工程.

    创建静态库工程

    将工程命名为StaticFrameBlueTooth(自己需要蓝牙功能,起了个蓝牙名字。如果想高逼格:那就 (名字拼音)XXXBlueToothSDK😀😀),然后将工程保存到一个空目录下。

    工程名

    一个静态库工程由头文件和实现文件组成,这些文件将被编译为库本身。
    当创建静态库工程时,Xcode会自动添加libStaticFrameBlueTooth.h和libStaticFrameBlueTooth.m。因为不需要实现文件,右键单击libStaticFrameBlueTooth.m选择delete,将它删除。


    删除 .m文件


  • 2.其实当前的工程已经可以使用了,但是你的库还是需要添加一些功能吧??? 创建一个StaticFrameBlueTooth.a,可以使用你自己封装好的控件。将你的控件从Finder中拖到Xcode下StaticFrameBlueTooth目录下。(objc文件夹也是拖进去的,不是创建工程的时候 配送的!!!!注意一下!!!!)

    拖入控件

    一定要注意,这里一定要勾选以下三个选项:

    必须Add to target


  • 3.点击 Finish 进入工程里面:

    工程 内部

    Compile Source为编译期间使用,而Headers文件仅仅提供一个接口!
    将你的控件的头文件 添加到 库的主头文件StaticFrameBlueTooth.h中。在主头文件的帮助下,开发者使用你的库仅仅需要导入一个头文件,如下面的代码一样,自己去选择自己需要的一块导入。 </br>
    其实头文件 也可以 自己创建Headers栏,再在里面按自己需求添加Public(公用)、Private(私有)、Project(工程)各自所需的头文件。但是条例一点要清晰,架构性要明确!

    把需要的头文件导入


  • 4.接下来就生成静态库

    • 4.1静态库分为手机和模拟器两种(手机端的只有手机能调用,模拟器的只有模拟器能调用)。
      首先,构建模拟器的静态库,如图:
      模拟器 调用的静态库


      真机 调用的静态库

      构建工程(command + B), 你就会发现 libStaticFrameBlueTooth.a 变黑了。
    生成静态库 成功 文件字体变黑
    • 4.2然后show in Finder


      获取静态库( .a文件)
真机与模拟器 调用的静态库


    • 4.3之后我拿到这个.a文件 、StaticFrameBlueTooth.h文件 和 他相关的所有.h文件,存放在一个新的文件夹里(起名就随便啦!! )如下:
    自己的SDK文件夹



  • 5.将他拖到你要应用的工程中,就可以去挥霍了。

    导入SDK文件





如果已经知道、了解 了导入对应头文件,即可以使用里面的三方库或自己定制的控件了。就无需了解我的Demo示例了!可以直接跳过 “运行效果”图片 的介绍。直接看最后提到的真机、模拟器通用的SDK 静态库介绍!


最终运行效果:
运行效果

放上美女,是为了美观一点!😀😀😀😀😀
别分心了!看segment!我讲解一下这个多段选择器!
控件是一个长度不固定,但至少是屏幕宽度(展示50个时间点:5的倍数)。传入时间数组,即可自动生成一个长度适应的 多段选择器。当然宽度超过屏幕宽度。就需要放在UIScrollView里面了!
因为设置了他的frame (20,200,105,30)。其宽度是不为显示的时间总长 (⭐️背景色⭐️即是最好的应证)。超过控件宽度的地方不能响应⭐️点击事件⭐️也是一个应证!!





通用静态库

上面已经提到了,模拟器调试得到的静态库只能在模拟器上运行,如果使用真机必须选择使用真机可调用的静态库文件(.a文件)。
接下来,我们就来生成一个双方都能用的libStaticFrameBlueTooth.a

首先,打开终端,复制以下命令

lipo-create
/Users/个人PC/Library/Developer/Xcode/DerivedData/StaticFrameBlueTooth-adahgwpnjulylkcjpaomvnxafgmq/Build/Products/Debug-iphoneos/libStaticFrameBlueTooth.a

/Users/个人PC/Library/Developer/Xcode/DerivedData/StaticFrameBlueTooth-adahgwpnjulylkcjpaomvnxafgmq/Build/Products/Debug-iphonesimulator/libStaticFrameBlueTooth.a



说明:

绿色:是你手机模式下可用的libStaticFrameBlueTooth.a
红色:是你模拟器下可用的libStaticFrameBlueTooth.a
蓝色:是最后生成双方都可用的libStaticFrameBlueTooth.a --并存在在桌面。最后拿
     到的libStaticFrameBlueTooth.a 就哪里都可以用了!














goyohol's essay

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容