Re: [問題] Bluetooth4.0背景執行問題

看板MacDev作者 (大雄)時間10年前 (2014/01/07 16:05), 編輯推噓2(208)
留言10則, 3人參與, 最新討論串4/4 (看更多)
可是我看過我的peripheral 的advertisement 的資訊如下 CBController] didDiscoverPeripheral, <CFUUID 0x146ae950> 60AEDA89-C250-DAAD-38BC-B7B4E412756F, count=4, RSSI=-57, count=1 2014-01-07 16:02:05.070 BLEControl[1132:60b] advertisementData is { kCBAdvDataChannel = 39; kCBAdvDataIsConnectable = 1; kCBAdvDataLocalName = "TiWi-uB1"; kCBAdvDataTxPowerLevel = 0; } 這樣意思是我不能用特定UUID去搜尋囉Q___Q? ※ 引述《govert ( )》之銘言: : 因為你的 peripheral 的 Advertisement裡面沒有 "180A" 這個service uuid. : Advertisement長度是很有限的, 所以通常 "Device Information" : 這種servvice uuid是不會放在Ad裡面去發的. : 所以你要先確定你的 peripheral 是那一種 profile, : 然後去看那個profile裡面有規定 Ad要發什麼, : 通常都會帶 main service 的 uuid. : 然後你再用 main service的uuid去scan, 就可以scan到了. : ※ 引述《mew3133 (大雄)》之銘言: : : 各位我有個疑問.... : : 我使用 : : [self.centralManager scanForPeripheralsWithServices:nil : : options:nil]; : : 可以搜尋到所有裝置 : : 我改成搜尋特定UUID就搜尋不到裝置......請問我錯在哪裡QQ...已經卡了一個月了... : : NSArray *uuidArray= : : [NSArray arrayWithObjects:[CBUUID UUIDWithString:@"180A"], nil]; : : [self.centralManager scanForPeripheralsWithServices:uuidArray : : options:nil]; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.155.106

01/07 16:47, , 1F
如果是自定義的 service uuid就可以.
01/07 16:47, 1F

01/07 16:48, , 2F
但是你要確定你的模組 AD裡有發出 service uuid.
01/07 16:48, 2F

01/07 16:48, , 3F
你要再去看一下模組的設定
01/07 16:48, 3F

01/07 17:12, , 4F
所以g大~ad裡面沒有service uuid
01/07 17:12, 4F

01/07 17:13, , 5F
APP就無法在background搜尋並連線囉?
01/07 17:13, 5F

01/07 19:47, , 6F
在不在背景是另一回事
01/07 19:47, 6F

01/07 19:47, , 7F
但是你ad裡面沒有service uuid,就是不能用uuid來scan.
01/07 19:47, 7F

01/08 12:07, , 8F
謝謝Govert大大我了解~
01/08 12:07, 8F

03/08 22:25, , 9F
govert大都寫得很清楚了,你的case可以scan後再判斷device name
03/08 22:25, 9F

03/08 22:28, , 10F
更正,peripheral name
03/08 22:28, 10F
文章代碼(AID): #1IoxLOZP (MacDev)
文章代碼(AID): #1IoxLOZP (MacDev)