
안녕하세요.이번엔 이론적인 내용을 이야기 해볼까 합니다. * 해당 포스트는 CryptoKit 을 사용합니다. (iOS 13.0 이상만 가능) 보안 회사에서 일할때 소금? 이야기를 많이 들었는데 오늘은 이게 뭔지 그리고 어떤 느낌으로 사용되는지 까지 해보도록 하겠습니다. * 그래서 소금(Salt)이 뭔가요?- 보안에서 말하는 소금이란 사용자가 자신의 데이터를 Hash로 만들기 전에 데이터를 들키지 않게 하기 위해 넣는 임의의 데이터를 의미합니다. - Hash는 단방향 암호화 (복호화가 불가능한 데이터)이지만 같은데이터로 Hash값를 제작하면 같은 Hash 값이 나오게 되기때문에 이를 통해 원본 데이터를 유츄해보는 것은 이론적으로 가능합니다.- 그래서 유추할수없도록 가짜 데이터를 추가하는것이라고 합니다...
안녕하세요. 정말 오랜만입니다. 요즘 일 때문에 부쩍 바빠지다보니 8월에는 글조차 작성하지 못했네요.오늘은 업무때문에 공부하다가 알게 된 짧은 정보가 있어서 정리해볼까 합니다. 오늘의 주제는 접근제어자(접근제어지시자)입니다. * 접근제어자(접근제어지시자)란?- 해당 함수 혹은 클래스 의 접근 가능 범위를 설정해주는 친구입니다. - 주로 내가 만든 걸 사용할 때 어디까지 허용해 줄것인지를 설정을 해줍니다. * 이걸 굳이 왜 사용하나요?: 보통 특정값이 바뀌면 안되서 사용에 제한을 걸거나반대로 사용자가 사용할수있게 제한을 풀어주기위해 사용합니다. 사실 제일 유명한 친구 둘은 이미 대부분 보셨을 겁니다. * Public : 프로젝트내에 어디든 접근이 가능합니다.: 외부에서도 접근이 가능합니다. * Pr..
안녕하세요. 요즘 일때문에 KeyChain부분을 집중적으로 공부중인데 정말 속성이 너무 다양해서 제가 헷갈리더라고요;;;;; 그래서 이 포스트는 제가 공부할겸 각 속성별 간단한 설명을 써두려고 합니다. (아마 업데이트가 당분간 계속될 수 도 있을 것 같네요.) 속성 이름의미kSecClass키체인 데이터 종류를 설정합니다. (비밀번호, 인증서 등...)kSecAttrKeyClass키의 클래스를 지정합니다.(공개키/대칭키등) kSecAttrAccessGroup키체인 그룹을 설정합니다.(KeyChain sharing 과 연관되있음) kSecAttrService서비스 이름을 설정합니다.kSecAttrKeyType키의 유형을 지정합니다(알고리즘)kSecValueData저장할 데이터 값을 설정합니다. (NSData..

https://developer.apple.com/documentation/xcode/configuring-app-groups/ Configuring App Groups | Apple Developer DocumentationEnable communication and data sharing between multiple installed apps created by the same developer.developer.apple.com안녕하세요.정말 오랜만에 오류가 아닌 이론 글을 쓰는 것 같네요.(버그가 아닌게 얼마만인지) 오늘 이야기는 App Groups 입니다! App Groups 이란 - 동일한 개발자가 만든 여러 개의 설치된 앱 간의 통신 및 데이터를 공유하는 것을 말합니다.- 주로 위젯을 만들..

안녕하세요. 최근에 어떤 버그를 찾느라 iOS 12 를 개발할 일이 잠깐 있었는데iOS 13 미만에서는 따로 설정을 해야하는게 있더라고요 (최소가 12.0 이니까 사실상 iOS 12를 위한 코드라 생각하시면 됩니다.) 간단하게 프로젝트 하나의 최소 지원 버전을 최소인 12.0 으로 하면 'UIScene' is only available in iOS 13.0 or newer이 비슷한 말이 한 9개 정도? AppDelegate / SceneDelegate 에 뜨게 됩니다. 오류 원인 - 말 그대로 해당 기능은 iOS 13 부터 사용이 가능합니다. - 또한 SceneDelegate는 iOS 13 부터 사용했기때문에 12에서는 사용이 불가합니다.- 그래서 해당 코드를 버전에 따라 분리하는게 필요합니다. - 최..

안녕하세요. 요즘은 로그인 할때 비밀번호 외에도 여러가지 방법이 있죠? 물론 저번의 패턴 잠금도 있지만 오늘은 많이 쓰이는 생체 인식을 알아보려고 합니다. 생채인식이란?- 신체 부위를 이용해서 자신임을 증명하는 방법을 의미합니다. - 현재 지원해주는 종류는 지문(TouchID) / 얼굴 (FaceID) / 홍채 (OpticID) 이렇게 3가지 입니다.- 각 휴대폰에서 지원해주는 종류(지문/얼굴/홍채)에 따라 사용이 가능합니다. - 홍채 (OpticID) 는 iOS 17부터 지원해줍니다. (나머지는 iOS 11부터) 필요 권한 - 당연히 Apple 에서 제공해주는 기능인 만큼 권한을 받아야 합니다- NSFaceIDUsageDescription 를 Info.plist 에 넣어줍니다. 기본 준비 - 생각보다 ..
안녕하세요. 요즘 왠 버그 하나 때문에 난리를 치고 있는데 해결이 안되네요ㅠ (나중에 해결되면 박제할 생각입니다.) 아무튼 버그 하나에 시간을 너무 쓰다 보니 오늘은 머리 식힐겸 자주 쓰이는거 공부해봅시다. 혹시 코드 작업 하시다가 아래와 같은 코드를 본 적 있나요? #if DEBUG // Swift Compiler - Custom Flags 에서 - "-D이름" 으로 Other Swift Flags 에 추가해주시면 아래처럼 사용이 가능해집니다. - 디버그는 잘되는데 Release 는 잘 안되더라고요;;(이유는 저도 아직 잘 모르겠습니다) 가만 생각하면 코드 쓸때 별 생각 안하고 쓴 것 같은데 은근히 자주 보게 되는 친구여서 정리해보았습니다. 그럼 오늘도 파이팅입니다.

안녕하세요. 오늘은 간만에 간단하면서도 은근 자주 쓰이는 그림자 기능에 대해 이야기 해볼까합니다. 그림자 효과가 어떤 건지 궁금하신 분들을 위해 맛보기를 보여드리면 아래같은거 말하는 겁니다. 그래서 오늘은 그림자 기능을 설정할때 각각의 속성들이 어떤 기능을 하는지를 알아볼까합니다. 기본 제공되는 그림자의 속성은 크게 아래 5가지 입니다. 1. ShadowColor : 그림자 색상 2. ShadowOffset : 그림자 방향 3. ShadowOpacity : 그림자 강도 (불투명성) 4. ShadowRadius : 그림자 퍼짐 정도 5. ShadowPath : 그림자 모양 말로는 차이를 알기 어려우니 직접 비교해봅시다. 차이를 보기 위해 색깔만 다른 두개의 UIView 을 만들어 줄께요. 아래처럼요 시작해..