Files
bundesmessenger-ios/bwi/SecureStorage/Extensions/Keychain+bool.swift
T
2022-03-17 15:51:23 +01:00

37 lines
1.3 KiB
Swift

//
/*
* Copyright (c) 2021 BWI GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import KeychainAccess
import Foundation
extension Keychain {
public func getBool(_ key: String, ignoringAttributeSynchronizable: Bool = true) throws -> Bool? {
if let flag = try getString(key, ignoringAttributeSynchronizable: ignoringAttributeSynchronizable), [true.description, false.description].contains(flag) {
return flag == true.description
} else {
return nil
}
}
public func set(_ flag: Bool, key: String, ignoringAttributeSynchronizable: Bool = true) throws {
let stringFlag = flag.description
try set(stringFlag, key: key, ignoringAttributeSynchronizable: ignoringAttributeSynchronizable)
}
}