OSX 썸네일형 리스트형 SecKey compare 자체 생성한 사설 인증서 기반으로 서버간 통신시 서버 검증 public key 비교 let clientPublicKeys: [SecKey] = clientCertificates.compactMap { $0.publicKey } let serverPublicKeys: [SecKey] = SSLCeritificate.publicKeys(for: trust) for serverKey in serverPublicKeys as [AnyObject] { for clientKey in clientPublicKeys as [AnyObject] { if serverKey.isEqual(clientKey) { return true } } } return false certificate 비교 let clientSecCert.. 더보기 atomic propery in swift @propertyWrapper struct Atomic { private var value: Value private let lock = NSLock() init(wrappedValue value: Value) { self.value = value } var wrappedValue: Value { get { return load() } set { store(newValue: newValue) } } func load() -> Value { lock.lock() defer { lock.unlock() } return value } mutating func store(newValue: Value) { lock.lock() defer { lock.unlock() } value = newValue } } 사용 .. 더보기 binary plist property list 는 xml, json, binary 형태로 저장이 가능 xml 과 binary 형태의 상호 변환 방법 // binary -> xml plutil -convert xml1 binary.plist // xml -> binary plutil -convert binary1 xml.plist 참고 링크 https://medium.com/@karaiskc/understanding-apples-binary-property-list-format-281e6da00dbd Understanding Apple’s binary property list format Property lists offer a structured and efficient way to represent and persist h.. 더보기 이전 1 다음