概述
本插件用于与BlueTherm的测温仪进行交互。目前仅支持iOS平台。
安装插件
打开终端,进入cordova项目根目录,输入下面命令
cordova plugin add git+http://gitlab.easternphoenix.com/CordovaPlugin/blue-therm.git
项目结构
插件内目录src/ios下面有一个Xcode项目和plugin接口。
Xcode项目TSBlueTherm 项目内主要有3个target,分别是:
-
TSBlueTherm,实现BlueTherm测温仪交互功能的framework。
-
TSBlueTherm-Universal,把前者编译成universal库,并且拷贝到项目的src/ios目录下进行发布。
-
TSBlueThermDemo,测试用App,App运行framework中的功能。开发者无需把plugin引入到cordova项目中,通过该App可以大致测试和调试framework。
接口TSBlueThermPlugin.m 接口部分并不实现具体的功能,接口只是简单调用framework中的功能。
设计理念
项目的关键设计在于,接口不实现具体功能,而是通过调用framework提供功能。我们可以把这种设计模式总结成「源码封装抽离」。该模式有以下好处:
-
方便配置和管理。 相对于「源码封装抽离」的是将源码直接放置在plugin之内。后者设计较多的plugin.xml的配置问题,尤其当引入第三方库的时候,如果存在大量的源文件和资源则plugin.xml的配置将非常繁琐。一旦配置出错有可能是的plugin无法正常运作,增加调试的工作量。 「抽离」模式plugin.xml的配置相对稳定,开发以及第三方资源封装在framework内。开发精力集中在framework上,而无需太多关注配置问题。如果有需要快速开发、调试,甚至可以直接替代项目中的framework(如果接口不变),而无需完整发布新的plugin。
-
方便调试。 Cordova项目引入、更新plugin的操作并不复杂,但相当繁琐。在开发调、试过程频繁操作会相当影响效率。「抽离」模式极大降低plugin的更新引入操作。开发者可以先对framework进行完整的开发、调试,待稳定可靠之后再引入到cordova项目下做完整的环境和系统测试。 另一方面,这种开发方式脱离具体的业务流程,只关注plugin的功能,同样可以提高开发效率。
项目配置
使用BlueTherm SDK需要对info.plist做一些额外的配置:
<key>UISupportedExternalAccessoryProtocols</key>
<array>
<string>uk.co.etiltd.bluetherm1</string>
</array>
或者在xcode中info.plist添加下面配置