전체 글

-
Dynamic App Icon특정기간이나 특정 조건에서 앱 아이콘을 바꾸고 싶을 때 앱 배포를 하지 않고 앱 아이콘을 바꾸는 방법Assets 에 원하는 AppIcon(BIcon, CIcon, DIcon) 들을 추가Targets → Build Setting(All) → Alternate App Icon Sets 에서 Assets에 추가한 AppIcon(BIcon, CIcon, DIcon) 들을 입력UIApplication.shared.setAlternateIconName(String?:) 호출https://github.com/user-attachments/assets/345e9eda-495d-4ce7-a5f1-4d2f496ffb33 import UIKitclass ViewController: UIVie..
[iOS] 앱 아이콘 앱 스토어 심사 없이 동적으로 바꾸기Dynamic App Icon특정기간이나 특정 조건에서 앱 아이콘을 바꾸고 싶을 때 앱 배포를 하지 않고 앱 아이콘을 바꾸는 방법Assets 에 원하는 AppIcon(BIcon, CIcon, DIcon) 들을 추가Targets → Build Setting(All) → Alternate App Icon Sets 에서 Assets에 추가한 AppIcon(BIcon, CIcon, DIcon) 들을 입력UIApplication.shared.setAlternateIconName(String?:) 호출https://github.com/user-attachments/assets/345e9eda-495d-4ce7-a5f1-4d2f496ffb33 import UIKitclass ViewController: UIVie..
2025.04.20 -
모듈화시 각 모듈에서 사용하는 ThirdParty Library들의 효율적인 관리를 위해 ThirdPartyKit이라는 모듈로 분리하여 사용하였다.App 테스트를 위해 Configurations를 각각 다르게 줘고 Scheme를 각각 설정하였다.Dev, QA, Release Scheme이다App-Release 스키마와 App-Dev 스키마는 정상적으로 실행되는데 App-QA 스키마는 아래와 같은 에러가 발생한다.Framework 'ThirdPartyKit' not foundLinker command failed with exit code 1 (use -v to see invocation)~/DerivedData/프로젝트이름/Build/Products의 폴더를 들어가 각각의 폴더를 확인해보면QA에만 Thi..
Configurations 사용시 주의점모듈화시 각 모듈에서 사용하는 ThirdParty Library들의 효율적인 관리를 위해 ThirdPartyKit이라는 모듈로 분리하여 사용하였다.App 테스트를 위해 Configurations를 각각 다르게 줘고 Scheme를 각각 설정하였다.Dev, QA, Release Scheme이다App-Release 스키마와 App-Dev 스키마는 정상적으로 실행되는데 App-QA 스키마는 아래와 같은 에러가 발생한다.Framework 'ThirdPartyKit' not foundLinker command failed with exit code 1 (use -v to see invocation)~/DerivedData/프로젝트이름/Build/Products의 폴더를 들어가 각각의 폴더를 확인해보면QA에만 Thi..
2024.11.17 -
What is Observation ?기본 데이터가 변경될 때 프레젠테이션을 업데이트하는 반응형 앱을 만듭니다.@Obserable 은 normal type의 property를 observable type으로 마킹하여 UI가 data의 변화에 대응할 수 있게 해주는 매크로@Obserable 은 Swift 컴파일러에게 명령을 내려서 코드를 확장형 Observable type으로 바꿔 SwiftUI가 뷰를 동작하게 만듬reference type, value type을 모두 지원@Published @State @Binding @ObservedObject 등 다른 프로퍼티 래퍼가 없어도 작동함각 property마다 @Published @State @Binding @ObservedObject 등을 붙인것을 data..
[WWDC - 2023] Discover Observation in SwiftUIWhat is Observation ?기본 데이터가 변경될 때 프레젠테이션을 업데이트하는 반응형 앱을 만듭니다.@Obserable 은 normal type의 property를 observable type으로 마킹하여 UI가 data의 변화에 대응할 수 있게 해주는 매크로@Obserable 은 Swift 컴파일러에게 명령을 내려서 코드를 확장형 Observable type으로 바꿔 SwiftUI가 뷰를 동작하게 만듬reference type, value type을 모두 지원@Published @State @Binding @ObservedObject 등 다른 프로퍼티 래퍼가 없어도 작동함각 property마다 @Published @State @Binding @ObservedObject 등을 붙인것을 data..
2024.08.10 -
[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element) 가 동일한것인지 다른것인지 인식(recognize) 하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence) 를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when) 와 이유 (why) 를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할..
[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element) 가 동일한것인지 다른것인지 인식(recognize) 하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence) 를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when) 와 이유 (why) 를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할..
2024.07.31 -
[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element)가 동일한것인지 다른것인지 인식(recognize)하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence)를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when)와 이유(why)를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할 사항(wh..
[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3)🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element)가 동일한것인지 다른것인지 인식(recognize)하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence)를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when)와 이유(why)를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할 사항(wh..
2024.07.29 -
[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3) 🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element)가 동일한것인지 다른것인지 인식(recognize)하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence)를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when)와 이유(why)를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할 사항(..
[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Identity (1/3)[WWDC - 2021] Demystify SwiftUI ‐ Lifetime (2/3)[WWDC - 2021] Demystify SwiftUI ‐ Dependency (3/3) 🤔 SwiftUI는 우리의 코드에서 어떤걸 볼까 ?IdentitySwiftUI가 여러번의 업데이트 동안 요소(element)가 동일한것인지 다른것인지 인식(recognize)하는 방법LifetimeSwiftUI가 뷰와 데이터의 존재(existence)를 시간에 따라 추적하는 방법DependencySwiftUI가 인터페이스를 업데이트해야하는 시기(when)와 이유(why)를 이해하는 방법이 세 가지 개념을 통해 SwiftUI는 변경해야할 사항(..
2024.07.28 -
[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObject요약SwiftUI는 View와 View의 State관리가 중요SwiftUI는 @State 를 통해 **Single Source of Truth(SOT)**를 나타낼수 있음SwiftUI는 @State 로 선언된 상태 프로퍼티의 저장소를 관리@Binding 을 통해 **Single Source of Truth(SOT)**에 접근 가능@Binding 을 할때는 @State 로 선언된 상태 프로퍼티의 이름에 prefix로 $표시를 추가해 사용S..
[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObject[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObject요약SwiftUI는 View와 View의 State관리가 중요SwiftUI는 @State 를 통해 **Single Source of Truth(SOT)**를 나타낼수 있음SwiftUI는 @State 로 선언된 상태 프로퍼티의 저장소를 관리@Binding 을 통해 **Single Source of Truth(SOT)**에 접근 가능@Binding 을 할때는 @State 로 선언된 상태 프로퍼티의 이름에 prefix로 $표시를 추가해 사용S..
2024.07.22 -
[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObjectUIKit에서 Data FlowSwift UI가 나오기전 UIKit에서의 Data Flow는 보통 아래와 같음하나의 VC(PlayerViewController)에 하위 View(PlayerView, PlayButton)들이 있고VC의 Model에서 하위 View들에게 값을 전달해주는게 일반적이었는데 여기서 동기화의 문제가 발생PlayButton과 PlayerViewController의 isPlaying의 값이 동일해야 함혹은 다른 다양한..
[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2019] Data Flow Through SwiftUI - @State, @Binding[WWDC - 2020] Data Essentials in SwiftUI - @StateObject, @ObservableObject, @EnvironmentObjectUIKit에서 Data FlowSwift UI가 나오기전 UIKit에서의 Data Flow는 보통 아래와 같음하나의 VC(PlayerViewController)에 하위 View(PlayerView, PlayButton)들이 있고VC의 Model에서 하위 View들에게 값을 전달해주는게 일반적이었는데 여기서 동기화의 문제가 발생PlayButton과 PlayerViewController의 isPlaying의 값이 동일해야 함혹은 다른 다양한..
2024.07.08