iOS的BlueTooth和Reminder的API调研 | imlab
iOS的BlueTooth和Reminder的API调研
October 19, 2012, 5:37 am, :

这两天看了一下iOS关于BlueTooth和Reminder的API,先粗略讲一下:

1. BlueTooth
从软件方面说,其实BlueTooth设备本身只是通过串口通信,但是在不同应用上,可能会在其上建立不同的通信协议。如果SDK本身能够提供好的通信协议支持,那实现起来就不会有太大困难。SDK里面关于蓝牙的主要有三个库,分别是GameKit,IOBlueTooth和CoreBlueTooth。Gamekit主要是面向手机设备之间的连通,用于联机对战,这意味着需要两端都具有同样的程序才可以在此API上通信,应该不符合我们需求;IOBlueTooth是老版的蓝牙API,资料上似乎没说明是否支持蓝牙4.0,但是有人说不支持Low Energy;CoreBlueTooth是支持BT4.0 LE的,但是据说又向下不兼容。。。由于手头也没有硬件,因此可能要先跟硬件工程师讨论下才知道有什么结果。
(ps, 这里有位大叔写了篇东西(http://www.mkroll.mobi/?page_id=386) 说seeed studio的arduino蓝牙不是ios connectable的,因此他还在kickstarter上弄了一个项目来开发ios可以用的arduino设备)
2. Reminder API
在iOS里面,Calendar和Reminder两个应用都是同样调用EventKit的,因此其实弄懂了EventKit之后可以不分Calendar和Reminder。不过在这里我遇到两个困难:
a. 这SDK里面关于日期的函数太麻烦了,因此最好在这之上做一层封装,只考虑我们可能需要用到的方法,尽量将接口设计的简单一些。
b. 关于Calendar和Reminder这两个东西,里面的逻辑是如何的,我手头没有设备没办法了解,还有就是这两个应用的逻辑与我们要做的app的逻辑是怎样的对应关系,这个设计师也没说清楚,这一部分似乎是有待深入研究的。
我明天会继续看一下EventKit这部分的内容。
———–
补充:
1,BLE 应该是 iphone 4s 时才有的,所以不向下兼容是正常的,如果出于耗电考虑,就必须忽略持有不兼容设备的用户。另外我手里那块来自 seeed 的 Ble 是新版,也有了在 app store 里测试用的 app,所以应该是兼容的。
http://www.seeedstudio.com/depot/bluetooth-low-energy-shield-p-1255.html?cPath=132_134
http://redbearlab.com/
2,通过 Xcode 运行 iphone 或 ipad 模拟器,模拟器可以在上面测试API,在没有 ios 物理设备的情况下也可以试用,但是本身没有内置的应用,比如要添加reminder,仍需要自己写程序创建(calendar在SDK里有一个SimpleEKDemo的project)。mac上面的日历和提醒应该跟ios上是一样的,所以我先从mac上面的入手分析。

 

 

October 19, 2012, 1:56 pm, Terry:

http://kykim.com/blog/2012/10/15/accessing-reminders-with-eventkit-part-2/

这里有一个Reminder API调用的例子,因为取reminder的时候是异步的机制,因此也采取了信号量的同步方式

Leave a Reply

Your email address will not be published. Required fields are marked *


March 23, 2017, 2:07 pm, imlab.cc
Log in