전체 글
-
모듈화시 각 모듈에서 사용하는 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 -
App SandboxApp Sandbox는 커널 수준에서 강제 적용되는 접근 제어 기술macOS 앱의 시스템 리소스와 유저 데이터에 대한 접근을 제한하여 앱이 손상되었을 피해를 최소화앱 샌드박스는 권한 부여를 통해 요청된 리소스에 대한 앱의 액세스를 제한하여 시스템 리소스 및 사용자 데이터에 대한 보호를 제공Mac APP Store로 배포되는 모든 app 들은 App Sandbox를 적용흔히 iOS는 보안이 좋다라고 나오는 말이 App Sandbox 때문Without App Sandbox & With App SandboxApp Sandbox가 적용되지 않는 앱은 모든 유저 데이터와 시스템 리소스에 접근 가능하기 때문에 보안 취약점이 발생한다면 모든 데이터 및 리소스를 해커가 가져갈 수 있게 됨.그래서 a..
[iOS] App SandboxApp SandboxApp Sandbox는 커널 수준에서 강제 적용되는 접근 제어 기술macOS 앱의 시스템 리소스와 유저 데이터에 대한 접근을 제한하여 앱이 손상되었을 피해를 최소화앱 샌드박스는 권한 부여를 통해 요청된 리소스에 대한 앱의 액세스를 제한하여 시스템 리소스 및 사용자 데이터에 대한 보호를 제공Mac APP Store로 배포되는 모든 app 들은 App Sandbox를 적용흔히 iOS는 보안이 좋다라고 나오는 말이 App Sandbox 때문Without App Sandbox & With App SandboxApp Sandbox가 적용되지 않는 앱은 모든 유저 데이터와 시스템 리소스에 접근 가능하기 때문에 보안 취약점이 발생한다면 모든 데이터 및 리소스를 해커가 가져갈 수 있게 됨.그래서 a..
2024.07.01