[##_revenue_list_upper##]

전체 글

데프리프터의 데브리프팅
· iOS
iOS 개발자라면 꼭 알아야 할 Keychain과 App ID의 관계 iOS 개발을 하다 보면 “앱이 민감한 데이터를 저장할 곳”이 필요합니다. 사용자 로그인 정보, 토큰, 인증서 등 평문으로 저장하면 안 되는 중요한 정보 말입니다. 이럴 때 사용하는 것이 바로 Keychain입니다. Keychain이란? Keychain은 Apple이 제공하는 보안 저장소입니다.사용자 기기 안에 존재하며, 앱이 민감한 데이터를 안전하게 저장할 수 있도록 도와줍니다. 저장할 수 있는 데이터: 토큰, 비밀번호, 인증서 등시스템 전체에서 공유되며, 앱 간에는 App ID나 Access Group에 따라 제한이 있습니다.데이터는 암호화되어 저장되며, 운영체제가 알아서 보호합니다. App ID는 왜 중요한가요? Keychai..
iOS 프레임워크의 모든 것: Static Framework와 Dynamic Framework의 차이와 앱 빌드 전체 과정 정리iOS 앱 개발을 하다 보면 "프레임워크"라는 단어를 자주 접하게 됩니다. 프레임워크는 개발자가 자주 사용하는 코드, UI, 리소스를 묶어둔 재사용 가능한 코드 꾸러미입니다. 이 프레임워크는 앱(App) 안에 붙여서 사용할 수 있으며, 붙이는 방식에 따라 Static Framework(정적 프레임워크) 또는 Dynamic Framework(동적 프레임워크)로 구분됩니다.Static Framework(정적 프레임워크)란?Static Framework는 앱을 빌드할 때 프레임워크의 코드와 리소스를 그대로 앱 안에 복사해서 넣는 방식입니다. 그 결과 앱은 하나의 덩어리 파일로 만들어지..
· Swift
코드를 보다보면 변수나 함수에private static 을 사용하는 경우가 있습니다.처음 봤을 때는 의미를 바로 느끼기가 힘들어서 찾아보니 생각보다 간단해서 정리하고 갑니다! private를 사용하면 해당 변수 또는 메서드가 클래스에 속하고 인스턴스가 생성되지 않아도 사용할 수 있습니다.또한 정의된 클래스 또는 strusct 내부에서만 접근할 수 있도록 제한합니다. static 은 클래스나 struct가 아닌 타입 자체에 속하는 속성이나 메서드를 정의할 때 사용합니다.이말이 무슨 말인고 하니..static 키워드를 사용하면 해당 속성이나 메서드가 ‘객체(인스턴스) 단위’가 아니라 ‘클래스(타입) 단위’에서 관리된다는 뜻입니다.즉, 인스턴스를 여러 개 만들더라도, static으로 선언된 변수나 메서드는 모..
· SwiftUI
안녕하세요!오랜만에 돌아온 데브리프터입니다.연말연초 공사가 다망한 관계로 공부했던것들을 정리할 시간이 없었는데, (맨날 공사다망한거 아니냐며..) 새로 시작한 프로젝트가 SwiftUI 를 사용해서 개발을 하다보니UIKit만 사용했던 저로써는 이래저래 많은 벽에 부딪히고 있는 중입니다.  각설하고!오늘은 우리가 SwiftUI 에서 사용하는 다양한 PropertyWrapper 에 대해서정리해 보겠습니다. 바로 들어가보겠습니다! @State@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)State는 SwiftUI 가 관리하는 값을 읽고 쓸 수 있는 Property Wrapper 입니다.App, Scene, View에서 생성됩니다.State는 view ..
· iOS
안녕하세요 데브리프터 입니다! 회사에서 프로젝트를 진행하면서 여러가지 상황에 따라서 빌드를 모두 다르게 해야하는 상황이 많았습니다.이런 이유로 flag 를 활용한 코드제어에 대한 내용을 이전 글에서 포스팅했습니다. 오늘은 실제로 빌드환경에 따라서 In House 방식으로 배포하기 위해 ipa 파일을생성하는 방법에 대해서 작성해 보겠습니다! 서론 그만하고 시작합니다!!  사용 및 작성 목적SI 프로젝트 중 보안정책이 강한 몇몇 회사는 그 특성상 현장에가서 직접 개발 / 디버깅 / 테스트 하기에 자원이 부족합니다특히 테스트 기간에 여러가지 이슈사항으로 보안테스트 , 배포용 , 개발환경테스트용 등 다양한 환경을 적용해서 빌드파일을 전달해야할 상황이 여러 프로젝트에서 동시다발적으로 생깁니다. 이에 따라서 잘못된..
· Swift
안녕하세요!주제가 이리저리 튀는 데브리프터입니다.. 클라이언트에 따라서 모의해킹용으로 빌드를 하는데 이때마다 configuration이나여러 가지 보안 세팅 코드들을 수정하고 다시 원래대로 돌려놓아야 하는 굉~~~~~~장히 번거롭고그럼에도 휴먼에러 가능성이 너무 많은 상황이라 이를 조금이라도자동으로 제어할 수 있게 하려고 찾아보다가 flag라는 아이를 처음으로 알게 됐습니다! 근데 이놈이.. 좀 헷갈리고 세팅하는 데서도 좀 애를 먹어서 (한 번만 테스트하고 문서화해놓으면 되는 건데 왜 아직..?)다른 분들도 저처럼 고생하지 말고이것도 되나..?그럼 이런 케이스도..? 하는 부분까지 다 테스트 돌려보고 기록한 거 보시라고 작성했습니다!..그럼 시작하겠습니다!! 먼저 Swift 에는 #을 사용하여 전처리문을..
[##_revenue_list_lower##]
공부가 밥먹여주더라
데브리프터의 개발 리프팅