CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.

TTLock 3.5.0

TTLock 3.5.0

License MIT
ReleasedLast Release Apr 2025

Maintained by chensg.



TTLock 3.5.0

  • By
  • ttlock

Developers Email list

[email protected]

Development environment

Minimum iOS Target: iOS 9.0
Minimum Xcode Version: Xcode 14

Installation

By Cocoapods

First, add the following line to your Podfile:
use_frameworks!
target 'YourAppTargetName' do
pod 'TTLock' #(Required)
pod 'TTLockDFU' #(Optional)( If you need to upgrade devices into your application )
pod 'TTLockGateway' #(Optional)( If you need to use Gateway )
end

Second, pod install

By Manually

1、Drag the corresponding frameworks into the project.
2、Find Target->Build Phases -> Link Binary With Libraries ,add CoreBluetooth.framework.
3、Important! Find Target->Build Settings -> Linking -> Other Linker Flags ,add -ObjC(If it already exists, there is no need to add it.)

Introduction

TTLock

TTLock has been designed to communicate with devices by mobile phone bluetooth.
TTGateway supports second generation gateway.
TTUtil provides methods to use specialValue and get type of lock.

TTLockDFU (Device Firmware Upgrade)

TTLockDFU has been designed to make it easy to upgrade devices into your application by mobile phone bluetooth.

Usage

TTLock Usage

Initialize TTLock in the method{ didFinishLaunchingWithOptions} in AppDelegate (please do not call it in an asynchronous thread)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

     [TTLock setupBluetooth:^(TTBluetoothState state) {
        NSLog(@"##############  TTLock is working, bluetooth state: %ld  ##############",(long)state);
    }];
    return YES;
}

Scene: Unlock

 [TTLock controlLockWithControlAction:TTControlActionUnlock lockData:lockData success:^(long long lockTime, NSInteger electricQuantity, long long uniqueId) {
        NSLog(@"##############  Unlock successed power: %ld  ##############",(long)electricQuantity);
    } failure:^(TTError errorCode, NSString *errorMsg) {
        NSLog(@"##############  Unlock failed errorMsg: %@  ##############",errorMsg);
    }];

If you want to get log and set time immediately after unlocking, you can do the following:

- (void)unlockAndGetLogAndSetTime{

     //unlock
    [TTLock controlLockWithControlAction:TTControlActionUnlock lockData:lockData success:^(long long lockTime, NSInteger electricQuantity, long long uniqueId) {
        NSLog(@"##############  Unlock successed power: %ld  ##############",(long)electricQuantity);
    } failure:^(TTError errorCode, NSString *errorMsg) {
        NSLog(@"##############  Unlock failed errorMsg: %@  ##############",errorMsg);
    }];
    
     //get log
    [TTLock getOperationLogWithType:TTOperateLogTypeLatest lockData:lockData success:^(NSString *operateRecord) {
        NSLog(@"##############  Log: %@  ##############",operateRecord);
    } failure:^(TTError errorCode, NSString *errorMsg) {
        NSLog(@"##############  Get log failed errorMsg: %@  ##############",errorMsg);
    }];

     //set time
    long long timestamp = [[NSDate date] timeIntervalSince1970] * 1000;
    [TTLock setLockTimeWithTimestamp:timestamp lockData:lockData success:^{
        NSLog(@"##############  Set time successed  ##############");
    } failure:^(TTError errorCode, NSString *errorMsg) {
        NSLog(@"##############  Set time failed errorMsg: %@  ##############",errorMsg);
    }];
}

How to use FeatureValue

 BOOL isSupportPasscode = [TTUtil lockFeatureValue:_lockModel.lockData suportFunction:TTLockFeatureValuePasscode];
 BOOL isSupportICCard = [TTUtil lockFeatureValue:_lockModel.lockData suportFunction:TTLockFeatureValueICCard];
 BOOL isSupportFingerprint = [TTUtil lockFeatureValue:_lockModel.lockData suportFunction:TTLockFeatureValueFingerprint];