LattisSDK 2.2.3

LattisSDK 2.2.3

Ravil Khusainov 维护。



LattisSDK 2.2.3

  • Ravil Khusainov

Lattis SDK for iOS

Xcode Swift platform

依赖项

安装

将以下行添加到您的 Podfile

pod 'LattisSDK'

执行

pod install

如果您在前一个步骤中有任何错误,请执行以下命令

pod repo update

如果想要使用上一个版本,使用标签 v1.1.5

pod 'LattisSDK', '1.1.5'

用法

LattisSDKToken (String) 添加到您的 Info.plist

导入

import LattisSDK

代表

public protocol EllipseManagerDelegate: class {

    func manager(_ lockManager: EllipseManager, didRestoreConnected locks: [Ellipse])
    // Called when new locks discovered or old ones become not available
    // insert - contains only newly discovered locks
    // delete - contains not reachable locks
    // you can use lockManager.locks to get whole list of available locks
    func manager(_ lockManager: EllipseManager, didUpdateLocks insert: [Ellipse], delete: [Ellipse])

    // Called when state of bluetooth is changing
    func manager(_ lockManager: EllipseManager, didUpdateConnectionState connected: Bool)
}

public protocol EllipseDelegate: class {

    // Called when connection state of lock is changing
    // connection - represents current connection state of the lock
    func ellipse(_ ellipse: Ellipse, didUpdate connection: Ellipse.Connection)

    // Called when lock's security state changing (lock/unlock/etc)
    func ellipse(_ ellipse: Ellipse, didUpdate security: Ellipse.Security)

    // Called when lock's dynamic values changing (magnitude/battery level/RSSI)
    func ellipse(_ ellipse: Ellipse, didUpdate value: Ellipse.Value)
}

查找锁

EllipseManager.shared.scan(with: self)

或者如果您已经从其他类中调用了 scan(),您可以订阅 EllipseManager 更新。

EllipseManager.shared.subscribe(handler: self)
  • self(或任何其他对象实例)应符合 EllipseManagerDelegate 协议

调用

EllipseManager.shared.stopScan()

如果您不再需要发现新的锁。

您不需要从 EllipseManager 解除更新订阅。这会自动完成。没有对处理器的强引用。

连接到锁

let ellipse: Ellipse = EllipseManager.shared.locks.first
ellipse?.connect(handler: self)

或者如果您已经连接到锁,可以订阅锁的更新

ellipse?.subscribe(self)
  • self(或任何其他对象实例)应符合 EllipseDelegate 协议

调用

ellipse?.disconnect()

如果您想要断开锁的连接。

其他功能

管理占用触摸面板(FW=> 2.75)

您可以禁用或启用占用触摸面板

ellipse?.isCapTouchEnabled = false // true by default
  • isCapTouchEnabled == nil 表示您尚未获得它的状态。您可以在 didUpdate value 代理方法中接收到对该值的通知

管理磁性自动锁定(FW=> 2.75)

您可以管理基于罗盘的自锁功能

ellipse?.isMagnetAutoLockEnabled = true // false by default
  • isMagnetAutoLockEnabled == nil表示您还没有获取它的状态。您可以在didUpdate value代理方法中接收到该值的更新。

锁扣位置检查(FW => 2.75)

您可以检查锁扣是否已插入。

ellipse?.isShackleInserted

您可以在didUpdate value代理方法中收到该值的更新。

示例

您可以在本存储库的根目录中找到Lattis Demo目录。它包含了演示SDK API使用的实时演示项目。

React Native 支持

此库支持Rect Native。您可以在以下目录中找到示例项目:ReactNative/RNLattisSDK。访问wiki页面了解更多关于将LattisSDK手动(不使用Cocoapods)添加到您的React Native项目的信息。

后台模式

如果您在应用程序的功能设置中开启使用蓝牙LE配件,则此SDK将自动在后台工作。