TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Jun 2017 |
SwiftSwift Version | 3.1 |
SPMSupports SPM | ✗ |
Maintained by 1amageek.
Total | 122 |
Week | 0 |
Month | 7 |
Apps | 51 |
Test Targets | 1 |
Stars | 433 |
Watchers | 11 |
Forks | 27 |
Issues | 0 |
Contributors | 2 |
Pull Requests | 0 |
Files | 6 |
LOCLines of Code | 770 |
Bleu is a library that can handle CoreBluetooth easily.
Please customize Communicable+.swift
.
uuidgen // create uuid
extension Communicable {
public var serviceUUID: CBUUID {
return CBUUID(string: "YOUR UUID")
}
}
struct GetUserIDItem: Communicable {
public var method: RequestMethod {
return .get(isNotified: false)
}
public var characteristicUUID: CBUUID {
return CBUUID(string: "YOUR UUID")
}
}
struct PostUserIDItem: Communicable {
public var method: RequestMethod {
return .post
}
public var characteristicUUID: CBUUID {
return CBUUID(string: "YOUR UUID")
}
}
Bleu.addReceiver(Receiver(GetUserID(), get: { [weak self] (manager, request) in
guard let text: String = self?.textField.text else {
manager.respond(to: request, withResult: .attributeNotFound)
return
}
request.value = text.data(using: .utf8)
manager.respond(to: request, withResult: .success)
}))
Bleu.startAdvertising()
let request: Request = Request(communication: GetUserID()) { [weak self] (peripheral, characteristic, error) in
if let error = error {
debugPrint(error)
return
}
let data: Data = characteristic.value!
let text: String = String(data: data, encoding: .utf8)!
self?.centralTextField.text = text
}
Bleu.send([request]) { completedRequests, error in
if let error = error {
print("timeout")
}
}
Bleu.addReceiver(Receiver(PostUserID(), post: { (manager, request) in
let data: Data = request.value!
let text: String = String(data: data, encoding: .utf8)!
print(text)
manager.respond(to: request, withResult: .success)
}))
Bleu.startAdvertising()
let data: Data = "Sample".data(using: .utf8)!
let request: Request = Request(communication: PostUserID()) { (peripheral, characteristic, error) in
if let error = error {
debugPrint(error)
return
}
print("success")
}
request.value = data
Bleu.send([request]) { completedRequests, error in
if let error = error {
print("timeout")
}
}