에러 중에서 다음과 같은 에러가 발생할 때가 있습니다.1~N duplicate symbols for architecture arm641~N 은 중복된 무언가(앞으로 알아볼) 가 발생했다는 의미입니다.프로젝트에 설치한 Framework (Or Library) 에 코드가
App 을 전달하는 시점에 router 를 통해서 전달합니다.기존에는 MaterialApp(home:...) 으로 작성될 부분입니다.이 부분을 .router 로 변경해줍니다.MaterialApp.router 는 기존의 Navigator 를 사용하는 것이 아닌 Route
문자열 보간법Null 사용 예시Null 사용 예시 2Null 인 프로퍼티에 접근하기Collection Type 정의 및 초기화화살표 문법 (함수 표현법) + 연산 프로퍼티연산프로퍼티 프로퍼티 옵저버 (Dart 에 없음)Abstract class (Swift, Proto
파이어베이스나 Shared_Preferences 를 사용하다보면, WidgetsFlutterBinding.ensureInitialized()이 코드를 호출하는 경우가 있습니다. 이것에 대해서 이유를 알고 싶어서 이렇게 글을 작성합니다.iOS / AOS 와 커뮤니케이션
Entry Point 는 void main() 에서 runApp 호출 시점입니다.void main() 코드 좌측에 보면, 녹색 재생 아이콘이 있는데, 누르게 되면, 앱을 실행하게 됩니다.const 가 있는 이유는, lint 에서 가능하면 붙여달라고 하네요.아직 Menu
Content Delivery Network (= 컨텐츠 전송 네트워크)고용량 데이터를 안정적으로 전송할 수 있도록 도와주는 서비스입니다.정확한 정의는 컨텐츠를 사용자에게 전달하는 "분산 노드"로 구성된 네트워크를 의미합니다.컨텐츠가 이동하는 방향: 원본 서버 -> 에
의존성 주입이라고 하면, 필요한 객체를 생성할 객체에 전달하는 방법에 대한 이야기 입니다.이번에는 의존성 주입에 있어서 "Protocol을 통한 정의" 와 "함수(클로저)를 통한 정의" 에 대해서 알아보려고 합니다.Protocol을 이용한 방법장점구현과 정의를 나눌 수
Cocoapod 혹은 Swift Package Manager 를 통해서 라이브러리를 프로젝트에 추가하는 상황에서 시뮬레이터가 동작하지 않는 상황특정 프레임워크를 가져올 때, 시뮬레이터가 동작하지 않는 상황\-> 정리하면, 빌드는 되나 Simulator 에서 동작 안하
Target 을 2 개로 나누고, 각각 Info.plist 를 이용하여, 다른 환경에서 동작하도록 한다.프로젝트 파일 위치 : https://github.com/kipsong133/TIL/tree/main/2022/04/05 실제 프로덕트를 운영하는 팀에서,
결론\*\*UNNotificationServiceExtension 를 Target으로 추가하고\*\* didReceive(\_:withContentHandler:) 내에서 푸시 노티피케이션을 커스텀 할 수 있다.An object that modifies the con
Preferencekey - value 로 구성된 데이터 전달 수단입니다.전달 방향은 하위뷰 -> 상위뷰 입니다.구현방법reduce 메소드 우리가 선언한 “PreferenceKey” 를 사용하는 하위뷰를 순회합니다. 동시에, 상위뷰가 접근할 수 있는 값을 취합해줍니다.
오늘은 객체들을 모듈화하기 위한 Package 생성 방법에 대해 정리해보겠습니다. 간단하게 프로젝트를 하나 만들어줍니다.Xcode 탭바 중에서 File > new > Package 를 클릭합니다. 클릭하시고, 원하는 이름으로 저장하시되 , 하단에 있는 앱을 잘 선택해
오늘은 SwiftUI 의 Animation에 대해서 간단한 예제를 작성해보겠습니다. animation 이라는 단어는 "생명을 불어넣는 것" 이라는 뜻을 가지고 있습니다. 우리가 UI를 배치만 하면, 스티커처럼 붙어서 아무런 동작도 하지 않습니다. 클릭 했을 때, 단지
오늘은 SwiftUI에서 뒤에가 빛나는 듯한 UI를 구성해볼까 합니다.<결과물>제일 먼저 GeometryReader를 이용하여, 뷰에 대한 크기에 접근할 수 있도록 합니다.그리고 배경을 블러처리할 것이고 그 위에 텍스트나 경계선을 추가할 것이므로 ZStack도
오늘은 함수빌더에 대해서 알아보겠습니다. 함수 빌더(Function Builder) 는 내장 DSL (Domain Specific Languages)를 정의하는 문법입니다. (Swift 5.4 에서 추가됨, 현재는 공식적으로 Function Builder -> Res
오늘은 SwiftUI를 통해서 FlashCard를 만들면서 개념들을 정리해보려고합니다.구현UI 구현 -> ObservableObject 구성 -> Gesture 연결 순으로 진행하겠습니다.UI 구현플래시 카드니까, 카드 UI가 있어야겠죠. 저는 SwiftUIView를
오늘은 ColorScheme을 변경하는 코드를 작성하면서, CaseIterable, Identifiable 그리고 tag 수식어에 대해서 알아보겠습니다. enum을 생성해서, 앱의 Color Scheme을 light, dark 그리고 automatic 으로 변경하는
오늘은 "LayoutPriority"에 대해서 작성해볼까합니다. 레이아웃을 구성할 때, Spacing이나 frame 수식어를 이용해서 layout을 잡아서 많은 UI 문제를 해결하곤 했습니다. 그러다가 "LayoutPriority" 를 알게되었습니다. LayoutP
오늘은 SwiftUI에서 사용될 아키텍처에 대해서 알아보겠습니다. 아키텍처를 고민하고, 적용하는 이유는 다음과 같다고 생각합니다.코드의 가독성을 향상시킨다.코드를 변경하기 쉽다.기존의 코드에 무언가 추가하기 쉽다.코드를 테스트하기 쉽다.이것들 이 외에도 있겠지만, 개
오늘은 SwiftUI에서 사용될 아키텍처에 대해서 알아보겠습니다. 아키텍처를 고민하고, 적용하는 이유는 다음과 같다고 생각합니다.코드의 가독성을 향상시킨다.코드를 변경하기 쉽다.기존의 코드에 무언가 추가하기 쉽다.코드를 테스트하기 쉽다.이것들 이 외에도 있겠지만, 개