测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可协议 | MIT |
Released上次发布 | 2015年9月 |
SPM支持 SPM | ✗ |
由 Octoblu 维护。
依赖项 | |
Alamofire | ~> 2.0.2 |
SwiftyJSON | ~> 2.3.0 |
要运行示例项目,请克隆仓库,然后首先从示例目录运行 pod install
MeshbluKit 通过 CocoaPods 提供。要安装它,请简单地将以下行添加到您的 Podfile 中
pod "MeshbluKit"
设备已注册吗?
isNotRegistered() -> Bool
设置凭据
setCredentials(uuid: String, token: String)
声明设备
claimDevice(uuid: String, handler: (Result<JSON, NSError>) -> ())
获取设备
devices(options: [String: AnyObject], handler: (Result<JSON, NSError>) -> ())
删除设备
deleteDevice(uuid: String, handler: (Result<JSON, NSError>) -> ())
获取数据
getData(uuid: String, options: [String: AnyObject], handler: (Result<JSON, NSError>) -> ())
发送数据消息
data(uuid: String, message: [String: AnyObject], handler: (Result<JSON, NSError>) -> ())
发送消息
message(message: [String: AnyObject], handler: (Result<JSON, NSError>) -> ())
生成新的会话令牌
generateToken(uuid: String, handler: (Result<JSON, NSError>) -> ())
重置令牌
resetToken(uuid: String, handler: (Result<JSON, NSError>) -> ())
更新
update(uuid: String, properties: [String: AnyObject], handler: (Result<JSON, NSError>) -> ())
// OR
update(properties: [String: AnyObject], handler: (Result<JSON, NSError>) -> ())
危险更新
updateDangerously(uuid: String, properties: [String: AnyObject], handler: (Result<JSON, NSError>) -> ())
注册设备
register(device: [String: AnyObject], handler: (Result<JSON, NSError>) -> ())
获取公钥
getPublicKey(uuid: String, handler: (Result<JSON, NSError>) -> ())
我是谁?
whoami(handler: (Result<JSON, NSError>) -> ())
import Foundation
import MeshbluKit
class MeshbluExample : AnyObject {
var meshbluHttp: MeshbluHttp
init(meshbluConfig: [String: AnyObject]){
self.meshbluHttp = MeshbluHttp(meshbluConfig: meshbluConfig)
let uuid = meshbluConfig["uuid"] as? String
let token = meshbluConfig["token"] as? String
if uuid != nil && token != nil {
self.meshbluHttp.setCredentials(uuid!, token: token!)
}
}
init(meshbluHttp: MeshbluHttp) {
self.meshbluHttp = meshbluHttp
}
func getMeshbluClient() -> MeshbluHttp {
return self.meshbluHttp
}
func register() {
let device = [
"type": "device:ios-device", // Set your own device type
"online" : "true"
]
self.meshbluHttp.register(device) { (result) -> () in
switch result {
case let .Failure(error):
println("Failed to register")
case let .Success(success):
let json = success.value
let uuid = json["uuid"].stringValue
let token = json["token"].stringValue
println("Register device: uuid: \(uuid) and token: \(token)")
self.meshbluHttp.setCredentials(uuid, token: token)
}
}
}
func sendMessage(payload: [String: AnyObject], handler: (Result<JSON, NSError>) -> ()){
var message : [String: AnyObject] = [
"devices" : ["*"],
"payload" : payload,
"topic" : "some-topic"
]
self.meshbluHttp.message(message) {
(result) -> () in
handler(result)
println("Message Sent: \(message)")
}
}
}
Sqrt of Octoblu,[emailprotected]
MeshbluKit 可在 MIT 许可协议下使用。查看 LICENSE 文件以获取更多信息。