myDSSSDK Documentation

Class my​DSS

public final class myDSS  

Главный класс SDK

Properties

version

public static var version: String  

Текущая версия библиотеки

appearance

public static var appearance: DSSAppearance  

Внешний вид интерфейса

handles​Background​Timeout

public static var handlesBackgroundTimeout: TimeInterval  

Устанавливает время жизни хендлов после того, как приложение переключается в фоновый режим

Parameters

timeout

Время жизни хендлов (в секундах) после того, как приложение переключается в фоновый режим.

Methods

set​Log​Level(_:​)

public static func setLogLevel(_ level: LogLevel)  

установка уровня логирования

Parameters

log​Level

Требуемый уровень логирования

set​Logger(_:​level:​)

public static func setLogger(
        _ logger: DSSLoggerProtocol,
        level: LogLevel = .debug
    )  

Задаёт внешний логгер

Укажите требуемые уровни логирования:

  • .debug - стандартная информация для отладки (по-умолчанию)

  • .sensitive - чувствительная информация, например, значения ключей, пароли

Parameters

logger DSSLogger​Protocol

Логгер

levels

Параметры логирования

initialize(root​Certificate​Type:​)

public static func initialize(
        rootCertificateType: RootCertificateType
    ) throws  

Инициализация библиотеки

Parameters

root​Certificate​Type Root​Certificate​Type

Тип сертификата используемый для взаимодействия с сервером

Throws

Ошибку типа DSSError

analyze​QR(_:​)

public static func analyzeQR(
        _ source: String) throws -> DSSQRCode  

Определение содержания QR-кода

После анализа, метод возвращает объект c содержимым QR-кода.

let someSource = "{ ... }"
let qrCode = try myDSS.analyzeQR(someSource)

Для работы с данным объектом нужно проверить его тип:

switch qrCode {
    case let qr as QRCodeKinit:: ...
    case let qr as QRCodeVerification: ...
    default: ...
}

или

if let qrCodeKinit = qrCode as? DSSQRCodeKinit {
    ...
}

Parameters

source String

Содержимое QR-кода в формате JSON

Throws

Возвращает DSSError.qrTypeInvalid, если не удалось распознать QR-код

Returns

Возвращает объект с содержимым QR-кода.

analyze​QR(_:​)

public static func analyzeQR<T: DSSQRCode>(
        _ source: String) throws -> T  

Анализ QR-кода и создание объекта требуемого типа

После анализа, метод возвращает объект QR-кода требуемого типа или кидает ошибку, если вводные данные не подходят.

let someSource = "{ ... }"
let qrCodeKinit: DSSQRCodeKinit = try myDSS.analyzeQR(someSource)

Parameters

source String

Содержимое QR-кода в формате JSON

Throws

Возвращает DSSError.qrTypeInvalid, если не удалось распознать вводные данные

Returns

Возвращает объект QR-кода требуемого типа.

activate(qr​Code​Kinit:​code:​)

public static func activate(
        qrCodeKinit: DSSQRCodeKinit,
        code: String) throws -> DSSQRCodeKinit  

Активация QR-кода типа DSSQRCodeKinit

Parameters

code String

Код активации

Throws

Если код активации неверный, возникнет ошибка DSSError.wrongPassword

Returns

Возвращает экземпляр QR-кода с активированной ключевой информацией

clear​Cache()

public static func clearCache()  

Очищает кешированные файлы

get​Available​APIVersions(service​URL:​endpoint:​callback:​)

public static func getAvailableAPIVersions(
        serviceURL: URL,
        endpoint: DSSEndpoint,
        callback: @escaping (_ result: Result<[String], Error>) -> Void
    )  

Возвращает список доступных версий API для конкретного эндпоинта

Пример значений: ["1.0", "1.1"]

Parameters

service​URL URL

Адрес DSS сервиса

endpoint DSSEndpoint

Эндпоинт, версию которого требуется узнать

callback @escaping (_ result:​ Result<[String], Error>) -> Void

Замыкание возвращает результат

result

Cписок версий типа [String] или ошибка

init​RNG()

public static func initRNG()  

Открывает окно ДСЧ

reset()

public static func reset()  

Удаляет все данные библиотеки

⚠️ Все пользователи и ключи будут безвозвратно удалены. После сброса необходимо выполнить инициализацию библиотеки заново.