xcode8.0 + iOS10.0でBLEデバイス間でのテキストメッセージの送受信アプリを作っています。アプリ側からBLEデバイスにメッセージを送信する機能の実装はできたのですが、相手側から送られてくるメッセージを監視し続けて、アプリ上の(例えばラベル内)にリアルタイムに表示させる方法が分からずに困っています。
ちなみに、アプリストアからダウンロードしたメッセージ送受のアプリではBLEデバイスとのメッセージのやりとりは出来ているので、相手側BLEデバイスの問題で無いことは確認済みです。
また、メッセージ送信はネット上の情報で見よう見真似で以下の様に実装しました。
@IBAction func sendButton(_ sender: AnyObject) { //キャラクタリスティックに値を書き込む let data : NSData = inputText.text!.data(using: String.Encoding.utf8, allowLossyConversion: true) as NSData! BLEPeripheral.writeValue(data as Data, for: characteristic_1, type: CBCharacteristicWriteType.withResponse) /// 送信後textfiledをクリアする inputText.text = nil } func peripheral(_ peripheral: CBPeripheral, didWriteValueFor characteristic: CBCharacteristic, error: Error?) { if(error != nil){ print("エラー:\(error!)") return } print("書き込み成功") }
受信データを読み込むには以下の方法でできるかと思ったのですが、上手く行きません。
let RX = BLEPeripheral.readValue(for: characteristics_1) print("RX Data is: \(RX)")
いつ送られてくるか分からないデータを常に監視し、送られてきたタイミングでデータを読み取りを行うにはどうしたら良いのか、どなたかアドバイスをお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。