MeshbluKit 1.5.1

MeshbluKit 1.5.1

测试已测试
Lang语言 SwiftSwift
许可协议 MIT
Released上次发布2015年9月
SPM支持 SPM

Octoblu 维护。



 
依赖项
Alamofire~> 2.0.2
SwiftyJSON~> 2.3.0
 

MeshbluKit

使用方法

要运行示例项目,请克隆仓库,然后首先从示例目录运行 pod install

要求

安装

MeshbluKit 通过 CocoaPods 提供。要安装它,请简单地将以下行添加到您的 Podfile 中

pod "MeshbluKit"

API

设备已注册吗?

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 文件以获取更多信息。