Class
myDSS
public final class myDSS
Главный класс SDK
Properties
handlesBackgroundTimeout
public static var handlesBackgroundTimeout: TimeInterval
Устанавливает время жизни хендлов после того, как приложение переключается в фоновый режим
Parameters
Name | Type | Description |
---|---|---|
timeout | Время жизни хендлов (в секундах) после того, как приложение переключается в фоновый режим. |
Methods
setLogLevel(_:)
public static func setLogLevel(_ level: LogLevel)
установка уровня логирования
Parameters
Name | Type | Description |
---|---|---|
logLevel | Требуемый уровень логирования |
setLogger(_:level:)
public static func setLogger(
_ logger: DSSLoggerProtocol,
level: LogLevel = .debug
)
Задаёт внешний логгер
Укажите требуемые уровни логирования:
-
.debug - стандартная информация для отладки (по-умолчанию)
-
.sensitive - чувствительная информация, например, значения ключей, пароли
Parameters
Name | Type | Description |
---|---|---|
logger | DSSLoggerProtocol |
Логгер |
levels | Параметры логирования |
initialize(rootCertificateType:)
public static func initialize(
rootCertificateType: RootCertificateType
) throws
Инициализация библиотеки
Parameters
Name | Type | Description |
---|---|---|
rootCertificateType | RootCertificateType |
Тип сертификата используемый для взаимодействия с сервером |
Throws
Ошибку типа DSSError
analyzeQR(_:)
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
Name | Type | Description |
---|---|---|
source | String |
Содержимое QR-кода в формате JSON |
Throws
Возвращает DSSError.qrTypeInvalid
, если не удалось распознать QR-код
Returns
Возвращает объект с содержимым QR-кода.
analyzeQR(_:)
public static func analyzeQR<T: DSSQRCode>(
_ source: String) throws -> T
Анализ QR-кода и создание объекта требуемого типа
После анализа, метод возвращает объект QR-кода требуемого типа или кидает ошибку, если вводные данные не подходят.
let someSource = "{ ... }"
let qrCodeKinit: DSSQRCodeKinit = try myDSS.analyzeQR(someSource)
Parameters
Name | Type | Description |
---|---|---|
source | String |
Содержимое QR-кода в формате JSON |
Throws
Возвращает DSSError.qrTypeInvalid
, если не удалось распознать вводные данные
Returns
Возвращает объект QR-кода требуемого типа.
activate(qrCodeKinit:code:)
public static func activate(
qrCodeKinit: DSSQRCodeKinit,
code: String) throws -> DSSQRCodeKinit
Активация QR-кода типа DSSQRCodeKinit
Parameters
Name | Type | Description |
---|---|---|
code | String |
Код активации |
Throws
Если код активации неверный, возникнет ошибка DSSError.wrongPassword
Returns
Возвращает экземпляр QR-кода с активированной ключевой информацией
getAvailableAPIVersions(serviceURL:endpoint:callback:)
public static func getAvailableAPIVersions(
serviceURL: URL,
endpoint: DSSEndpoint,
callback: @escaping (_ result: Result<[String], Error>) -> Void
)
Возвращает список доступных версий API для конкретного эндпоинта
Пример значений: ["1.0", "1.1"]
Parameters
Name | Type | Description |
---|---|---|
serviceURL | URL |
Адрес DSS сервиса |
endpoint | DSSEndpoint |
Эндпоинт, версию которого требуется узнать |
callback | @escaping (_ result: Result<[String], Error>) -> Void |
Замыкание возвращает результат |
result | Cписок версий типа |
reset()
public static func reset()
Удаляет все данные библиотеки
⚠️ Все пользователи и ключи будут безвозвратно удалены. После сброса необходимо выполнить инициализацию библиотеки заново.