CBPeripheral

CBPeripheral的繼承

CBPeripheral繼承自CBPeer 看下CBPeer里面的東西

@interface CBPeer : NSObject <NSCopying>
@property(readonly, nonatomic) CFUUIDRef UUID NS_DEPRECATED(5_0, 7_0);
@property(readonly, nonatomic) NSUUID *identifier NS_AVAILABLE(7_0);

很單純的一個類 看上去應(yīng)該就是用來判別設(shè)備的 7.0以后給出了identifier屬性來代替UUID屬性,關(guān)于NSUUID也是很簡單的一個類不做贅述了熟菲。

CBPeripheral中的屬性

用來接收藍(lán)牙設(shè)備事件的代理
@property(weak, nonatomic) id<CBPeripheralDelegate> delegate;

藍(lán)牙設(shè)備的名字
@property(retain, readonly) NSString *name;

接收的信號強度指示Received Signal Strength Indication
@property(retain, readonly) NSNumber *RSSI NS_DEPRECATED(NA, NA, 5_0, 8_0);
8.0以后用下面這個方法代替
- (void)peripheral:(CBPeripheral *)peripheral didReadRSSI:(NSNumber *)RSSI error:(NSError *)error NS_AVAILABLE(NA, 8_0);

是否鏈接 7.0之后廢棄由state代替
@property(readonly) BOOL isConnected NS_DEPRECATED(NA, NA, 5_0, 7_0);

當(dāng)前peripheral的鏈接狀態(tài)
@property(readonly) CBPeripheralState state;

@discussion A list of <code>CBService</code> objects that have been discovered on the peripheral.
@property(retain, readonly) NSArray *services;

CBPeripheral的方法

讀取RSSI值
- (void)readRSSI;

查找服務(wù) 參數(shù)可以為nil
- (void)discoverServices:(NSArray *)serviceUUIDs;

- (void)discoverIncludedServices:(NSArray *)includedServiceUUIDs forService:(CBService *)service;

查找特征
- (void)discoverCharacteristics:(NSArray *)characteristicUUIDs forService:(CBService *)service;

讀取特征
- (void)readValueForCharacteristic:(CBCharacteristic *)characteristic;

寫入數(shù)據(jù)
- (void)writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type;

監(jiān)聽特征值
- (void)setNotifyValue:(BOOL)enabled forCharacteristic:(CBCharacteristic *)characteristic;

- (void)discoverDescriptorsForCharacteristic:(CBCharacteristic *)characteristic;

- (void)readValueForDescriptor:(CBDescriptor *)descriptor;

- (void)writeValue:(NSData *)data forDescriptor:(CBDescriptor *)descriptor;

CBPeripheral的代理方法

@protocol CBPeripheralDelegate <NSObject>
@optional

peripheral.name 被修改時 會被調(diào)用
- (void)peripheralDidUpdateName:(CBPeripheral *)peripheral NS_AVAILABLE(NA, 6_0);

鏈接的設(shè)備發(fā)生改變,指定CBService對象已經(jīng)失效時調(diào)用該方法夕土】淝常可通過discoverServices:讀取外設(shè)的services鏈接未舟。
- (void)peripheral:(CBPeripheral *)peripheral didModifyServices:(NSArray *)invalidatedServices NS_AVAILABLE(NA, 7_0);

當(dāng)外設(shè)更新了RSSI的時候被調(diào)用,8.0后棄用了,換下面的.
- (void)peripheralDidUpdateRSSI:(CBPeripheral *)peripheral error:(NSError *)error NS_DEPRECATED(NA, NA, 5_0, 8_0);

調(diào)用readRSSI 后在此方法中獲取RSSI值
- (void)peripheral:(CBPeripheral *)peripheral didReadRSSI:(NSNumber *)RSSI error:(NSError *)error NS_AVAILABLE(NA, 8_0);

調(diào)用查找服務(wù)discoverServices:后 會回調(diào)此方法
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error;

調(diào)用didDiscoverIncludedServicesForService:回調(diào)此方法沒看出用途
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverIncludedServicesForService:(CBService *)service error:(NSError *)error;

調(diào)用查找特征discoverCharacteristics后 會回調(diào)此方法
一般會在此方法中遍歷服務(wù)的特征 并調(diào)用readValueForCharacteristic讀取.
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error;

調(diào)用讀取特征readValueForCharacteristic后 會回調(diào)此方法,收的一切數(shù)據(jù),基本都從這里得到.
- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error;

當(dāng)發(fā)數(shù)據(jù)到外設(shè)的某一個特征值上面,并且響應(yīng)的類型是CBCharacteristicWriteWithResponse,會走此方法響應(yīng)發(fā)送是否成功。
- (void)peripheral:(CBPeripheral *)peripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error;

特征注冊通知后 會回調(diào)此方法
[peripheral setNotifyValue:YES forCharacteristic: characteristic];
- (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error;

- (void)peripheral:(CBPeripheral *)peripheral didDiscoverDescriptorsForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error;

- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForDescriptor:(CBDescriptor *)descriptor error:(NSError *)error;

寫入出錯后 會調(diào)用此方法 成功的話不調(diào)用
- (void)peripheral:(CBPeripheral *)peripheral didWriteValueForDescriptor:(CBDescriptor *)descriptor error:(NSError *)error;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绽榛,一起剝皮案震驚了整個濱河市瞭郑,隨后出現(xiàn)的幾起案子氮趋,更是在濱河造成了極大的恐慌伍派,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剩胁,死亡現(xiàn)場離奇詭異诉植,居然都是意外死亡,警方通過查閱死者的電腦和手機昵观,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門晾腔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人啊犬,你說我怎么就攤上這事灼擂。” “怎么了觉至?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵剔应,是天一觀的道長。 經(jīng)常有香客問我,道長峻贮,這世上最難降的妖魔是什么席怪? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮纤控,結(jié)果婚禮上挂捻,老公的妹妹穿的比我還像新娘。我一直安慰自己船万,他們只是感情好细层,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唬涧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盛撑。 梳的紋絲不亂的頭發(fā)上碎节,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音抵卫,去河邊找鬼狮荔。 笑死,一個胖子當(dāng)著我的面吹牛介粘,可吹牛的內(nèi)容都是我干的殖氏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼姻采,長吁一口氣:“原來是場噩夢啊……” “哼雅采!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起慨亲,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤婚瓜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后刑棵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巴刻,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年蛉签,在試婚紗的時候發(fā)現(xiàn)自己被綠了胡陪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡碍舍,死狀恐怖柠座,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乒验,我是刑警寧澤愚隧,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響狂塘,放射性物質(zhì)發(fā)生泄漏录煤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一荞胡、第九天 我趴在偏房一處隱蔽的房頂上張望妈踊。 院中可真熱鬧,春花似錦泪漂、人聲如沸廊营。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽露筒。三九已至,卻和暖如春敌卓,著一層夾襖步出監(jiān)牢的瞬間慎式,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工趟径, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瘪吏,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓蜗巧,卻偏偏與公主長得像掌眠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子幕屹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 原文:http://www.myexception.cn/operating-system/2052286.htm...
    KYM1988閱讀 1,944評論 2 2
  • 首先進一則廣告: 藍(lán)牙技術(shù)聯(lián)盟(Bluetooth SIG)2010年7月7日宣布蓝丙,正式采納藍(lán)牙4.0核心規(guī)范(B...
    L澤閱讀 1,445評論 3 4
  • 本文主要以藍(lán)牙4.0做介紹,因為現(xiàn)在iOS能用的藍(lán)牙也就是只僅僅4.0的設(shè)備 用的庫就是core bluetoot...
    暮雨飛煙閱讀 840評論 0 2
  • “你有女朋友沒?” “沒有” “我喜歡你望拖,你看我行不迅腔?” …… …… “你,你靠娱,要是拒絕沧烈,也不管用,因為我要追你像云,...
    1cc3a6bd86d4閱讀 169評論 0 0
  • 稀疏矩陣 稀疏矩陣(sparse matrix)是由于矩陣中存在大量0锌雀,從而可以采用特別的存儲技巧來壓縮內(nèi)存。由于...
    JxKing閱讀 6,133評論 3 4