ios(28)
-
[iOS] AES와 RSA Keychain 저장여부 정리
1. AES 키 (대칭키)통신용 AES키 (세션키)저장X (임시키) : 보통 요청마다 생성 후 바로 폐기합니다.단, 요청마다 새 키를 생성해 RSA로 암호화해 서버에 전달 후, 서버에서만 복호화합니다.로컬 데이터 암호화용 AES키 (마스터 키)Keychain에 저장 : 하나의 AES키를 Keychain에 안전하게 저장 후 데이터 암복호화 시 재사용합니다.Keychain은 자동으로 보안 처리 (하드웨어 보안 요소 사용)2. RSA 키 쌍 (비대칭키)RSA 개인 키 (Private Key)반드시 Keychain에 저장개인키는 절대 외부에 노출되면 안됩니다.kSecAttrAccessible을 .afterFirstUnlock 또는 .whenUnlockedThisDeviceOnly로 설정해 보안을 강화합니다.RS..
2025.02.24 -
[iOS] CryptoKit vs. CryptoSwift
CryptoKit과 CryptoSwift는 둘 다 암호화 관련 기능을 제공하는 라이브러리지만, 그 사용 방식과 특징에 차이가 있습니다. 각 라이브러리를 비교해보면 다음과 같습니다:1. CryptoKitApple 공식 라이브러리: CryptoKit은 Apple에서 공식적으로 제공하는 암호화 라이브러리입니다. iOS 13 이상에서만 사용할 수 있으며, Swift로 작성된 네이티브 API입니다.기능:대칭 키 암호화 (AES)비대칭 키 암호화 (RSA, ECDSA)해시 (SHA-256, SHA-384, SHA-512 등)HMAC (Hash-based Message Authentication Code)키 관리 (SymmetricKey, Secure Enclaves 사용)암호화 및 복호화 기능을 간단하고 효율적으로..
2025.02.14 -
[iOS] WKWebView Cookie
WKWebView에서 사용할 수 있는 쿠키는 보통 세션 쿠키(Session Cookie)와 퍼시스턴트 쿠키(Persistent Cookie, 파일 쿠키) 두 가지로 나뉩니다. 하지만 조금 더 세부적으로 보면 몇 가지 추가적인 쿠키 유형이 있습니다.1. 세션 쿠키 (Session Cookie)유효기간(expiresDate)이 없는 쿠키입니다.브라우저나 앱(웹뷰)이 종료되면 자동으로 삭제됩니다.로그인 세션 등 일시적인 데이터를 유지하는 데 사용됩니다.2. 퍼시스턴트 쿠키 (Persistent Cookie, 파일 쿠키)유효기간(expiresDate)이 설정된 쿠키입니다.앱(웹뷰)이 종료되더라도 기기에 저장되어 유지됩니다.자동 로그인, 사용자 설정 저장 등에 사용됩니다.WKWebView에서는 쿠키가 자동으로 저..
2025.02.11 -
[iOS] Async/Await
Swift의 async/await는 비동기 작업을 더 쉽게 작성하고 관리할 수 있도록 도와주는 기능입니다. 기존의 콜백 기반 비동기 코드보다 가독성이 좋고, 오류 처리도 간편하게 할 수 있습니다.1. async와 await란?async : 비동기 함수(메서드)를 정의할 때 사용합니다.await : async 함수 내부에서 비동기 작업이 완료될 때까지 기다리는 키워드입니다.기존 클로저 기반 비동기 코드와 비교하면 가독성이 훨씬 좋아집니다.📌 기존 콜백 방식 (Completion Handler)func fetchData(completion: @escaping (String) -> Void) { DispatchQueue.global().async { sleep(2) // 네트워크 요청 시뮬..
2025.02.06 -
[iOS] ILClassificationResponse
ILClassificationResponse는 iOS에서 전화 및 메시지 필터링을 위한 Identity Lookup(IL) 프레임워크에서 사용되는 클래스 중 하나입니다. 이를 통해 앱이 특정 전화번호나 메시지를 필터링할 때, 분류 결과를 제공할 수 있습니다.🔹 ILClassificationResponse란?ILClassificationResponse는 전화번호 또는 메시지의 분류 결과를 나타내는 객체로, ILClassificationRequest에 대한 응답으로 사용됩니다.이 클래스는 iOS 17에서 도입되었으며, 사용자가 받은 문자 메시지(SMS/MMS)나 전화번호가 어떤 유형인지를 분류하는 역할을 합니다.📌 사용 시나리오스팸 전화/문자 탐지 앱에서, 수신한 전화번호나 메시지를 스팸, 홍보, 사기 ..
2025.02.03 -
[iOS] Performance Trace란?
Performance Trace는 iOS 앱에서 성능을 측정하고 최적화하는 데 사용하는 도구 및 기법을 의미합니다.특히, Xcode의 Instruments를 활용하여 앱의 실행 속도, CPU 사용량, 메모리 사용량 등을 분석할 수 있습니다.1. Performance Trace의 필요성앱의 성능 저하 원인을 분석하고 최적화하는 것이 중요합니다.이를 위해 Performance Trace를 사용하면 다음과 같은 문제를 찾을 수 있습니다.✅ CPU 사용량 과다 → 특정 연산이 너무 많은 CPU를 차지하는지 확인✅ 메모리 누수(Leak) → 객체가 해제되지 않고 남아 있는 경우 감지✅ 렌더링 속도 저하 (UI Lag) → 프레임 드롭, 스크롤 성능 저하 분석✅ 디스크 I/O 병목현상 → 파일 저장/읽기 성능 확인..
2025.02.01