iOS SDK的设计与实现

本文概述了iOS SDK的开发流程,包括设计原则、架构搭建、静态库和Framework的生成,以及API文档的创建。推荐使用framework,并提供了相关资源链接。特别强调了在SDK中避免使用分类以及在生成静态库时的注意事项。同时,介绍了如何处理蓝牙相关功能和第三方库的引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面,本文并不详细描述具体如何创建.a文件, framework,以及如何使用workspace将SDK与测试项目关联方便 SDK单元测试。 因为下文提供的网络资源中都包含在内了。希望小伙伴们自行查阅。下文只讲述一个整体大致流程 和一些个人经验。文中提供的网站都很重要 其中也包含了一些相关的细节描述,这里就不做过多赘述了。跟着本文 相信一定可以搭建好自己的框架的。个人推荐使用framework
至于为什么,这里买个丸子。。。对 就是丸子。。。下面的资料中有讲到的。goodluck!

1.SDK的设计

这里推荐一本书中的部分内容《Effective Objective-C 2.0》第三章 接口与API设计,当然,本书的其他内容也很重要。下面附上思维导图
这里写图片描述

当然,书中的设计模式方面的内容貌似是没有的,或者说很少,对设计模式感兴趣的小伙伴 推荐看这位大神总结的设计模式方面的文章:
设计模式 http://blog.csdn.net/lovelion/article/details/17517213

还有 《Head First 设计模式》 也是很好的选择

2.SDK架构,大致如图

仅供参考

每个项目都会根据自己的需求来搭建项目框架,SDK也如此。具体情况具体分析。目的只是为了让项目更好维护

3.注意事项

1.尽量不要在SDK中使用分类[这样的话 开发者接入SDK时 可以少一步配置]
在SDK中不要使用分类,使用分类需要注意很多情况:例如分类实现的是类方法 还是对象方法, 在调用分类方法的时候 的外部方法体是类方法还是对象方法等。。。
如果SDK中有分类在生成静态库的时候貌似不会被加载进去[这个有待考证] 需要外接再次提供分类文件。。。
综上:暂时不要在SDK中使用分类方法 2017-08-31 PM

在制作framework或者lib的时候,如果使用了category, 把category打包成静态库是没有问题的,但是在用这个静态库的工程中,
调用category中的方法时会有找不到该方法的【运行时】错误(selector not recognized),
解决办法是:在使用静态库的工程中配置other linker flags的值为-ObjC

生成静态库 .a文件

1.生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值