
UITextField에는 isSecureTextEntry라는 옵션이 존재한다. 이녀석을 true로 set해주면 아래와 같이 텍스트 필드에 값이 입력될 때 값을 가려준다. 그렇다면 실제 값이 암호화 되서 입력되는지 확인해보면 메모리의 해당 텍스트필드의 텍스트 주소값을 조회해보면 값은 plain text상태 그대로 보여진다. 거의 그럴일은 없을지 모르겠지만.. 비밀번호등을 입력하는 텍스트필드를 메모리 덤프를 뜨게된다면 비밀번호가 보이게 된다. 이 값을 가려보자. 값을 가리기 위해 원래의 값을 암호화해서 저장해놓고, 텍스트필드의 값을 대치해 놓으려하는데 암호화를 위해 Secure Enclave를 사용해주었다. https://support.apple.com/ko-kr/guide/security/sec59b0b3..

니모닉이란? http://wiki.hash.kr/index.php/%EB%8B%88%EB%AA%A8%EB%8B%89 니모닉 - 해시넷 니모닉(Mnemonic)이란 지갑을 복구하기 위한 12개의 단어이다. 개인 키가 너무 복잡한 단어들로 구성되어 있기 때문에, 이를 쉽게 입력할 수 있도록 갖춰진 형식이다. 니모닉의 어원은 그리스 신화 wiki.hash.kr 한줄로 요약하자면 '기억하기 어려운 개인키를 생성하기 위한 값을 기억하기 비교적 쉬운 일상적인 단어로 바꿔서 보관하자' 정도로 말 할 수 있을 것 같다. 위의 페이지에서 적혀있는것을 보면 니모닉을 만들기 위한 순서와 구조를 확인 할 수 있다. 구현 순서: 1. 암호학적으로 랜덤한 128~256 bits의 시퀀스 S를 만든다. 2. S의 SHA-256 해..

Swift에서 각종 기본컨트롤러를 이용하다보면 Delegate를 확장하고싶을때가 있다. 예를들면.. UITableView의 Delegate는 UITableViewDelegate라는 Protocol이고, UITableView는 UIScrollView를 상속받는다. UITableViewDelegate는 UIScrollViewDelegate라는 프로토콜을 따르며, 거기에 자신만의 요구하는 함수 프로토콜을 가지고있다. 그렇다면 저 UITableView처럼 UITableView를 상속받는 뷰컨트롤러를 만들고 UITableViewDelegate를 따르는 프로토콜을 만든 후 delegate를 그 프로토콜로 바꿔주면 되는거 아닌가?!?! import Foundation import UIKit protocol MyTab..

Widget Extension을 만들다보면 만나게되는 getTimeline 이라는 함수이다. 위젯을 갱신해주는 주기를 관리해주는 함수이며, entry에 들어있는 entryDate의 지정된 시간에 해당 엔트리로 값이 바뀌며, 모든 엔트리가 다 사용되면 다시 getTimeline함수를 호출한다 (timeline의 policy가 .atEnd일 경우) 즉 함수이름대로 타임라인을 다시 얻음 그렇다면 나는 위의 코드에서는 0초,1초,2초,3초,4초 마다 엔트리가 갱신되고 그 후에는 getTimeline 함수가 호출될것이라 예상했다. 하지만 정상작동을 하지 않음.. 어떻게 작동하냐면.. 1초마다 entry의 갱신은 정상적으로 이루어진다. 하지만 getTimeline함수는 바로 호출되지 않는다. 그리고 1분이 지나니까..
- Total
- Today
- Yesterday
- arc
- flatMap
- cicd
- Secure Enclave
- modulemap
- iOS Mnemonic
- Fastlane
- 순환참조
- swift
- Protocol
- RxSwift
- iOS 니모닉
- firebase distribution
- cd
- XCode Cloud
- 니모닉
- CI
- iOS wallet
- XCodeGen
- Delegate
- Gitlab Runner
- Swift 니모닉
- associated type
- Tuist
- isSecureTextEntry
- widget extension
- Objective-C
- module map
- SwiftUI
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |