일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 클린아키텍쳐
- UICoordinateSpace
- windowScene
- 메모리 접근 충돌
- iOS 버전 점유율
- rib
- Dependency Rule
- 로버트마틴형
- memory safety
- RIBs Tutorial
- Dispatch.main.sync
- Git Large File Storage
- Github file size
- Automatically manage signing
- iOS Target
- RxSwift
- Ribs
- conflicting access to memory
- RxCocoa
- Large File Storage
- SWIFT
- in-out
- ios
- coordinateSpace
- Apple Certificate
- 대머리깃허브
- App Signing
- 잡초가득블로그
- swiftdocs
- Concurrent
- Today
- Total
목록전체 글 (68)
빙수왕의 개발일지
서버에서 내려주는 커피 리스트가 있다. 이 커피 리스트를 디코딩한다고 가정하자. 커피 종류는 2가지가 있고, 이 2가지는 내부 프로퍼티 값에 따라 구분된다. (또는 각 다른 프로퍼티를 가진다) ex) [StructA(), StructA(), StructB(), StructA(), StructB(), ... ] 서버에서 다 같은 형태로 내려주는 아이를 앱에서는 구분하고 싶을 때!! 각 타입을 다른 struct로 디코딩 하고싶다면 어떻게 할까? CoffeeDecoder struct를 따로 만들어준다. 예시) Coffee 의 ingredients 값에 따라 형태 나눌 수 있다. 아래 예시에서는 두가지 모두 Coffee struct 형태를 사용하지만, 각 Coffee 종류의 보유 프로퍼티가 다르다면 Struct..
KeyedDecodingContainer 주요 메소드들 decode(_:forKey:) decodeIfPresent(_:forKey:) decodeNil(forKey:) nestedContainer(keyedBy:forKey:) nestedUnkeyedContainer(forKey:) superDecoder() superDecoder(forKey:) 그 외 - configuration을 받는 메소드들 decode(forKey:configuration:) 음.. 자세히는 안봤지만, decode 할 때 configuration 객체를 내가 커스텀해서 만들고 그걸 사용해서 decode할 수 있도록 해주는 메소드인 것 같다. https://www.andyibanez.com/posts/the-mysterious-..
Decoder의 메소드들 (Container 3가지) Apple Developer Documentation func container(keyedBy: Key.Type) throws -> KeyedDecodingContainer func singleValueContainer() throws -> SingleValueDecodingContainer func unkeyedContainer() throws -> UnkeyedDecodingContainer 1. KeyedDecodingContainer CodingKey로 넘긴 키타입에 맞는 키를 가지는 값들을 포함하는 컨테이너. 일반적인 key: value 형태의 json을 디코딩할 때 사용. 우리가 일반적으로 property를 몇개 가진 struct에 Deco..
한 반년간 포스팅을 안했다. 잡초가 가득하다. 미안해 블로그야 WWDC도 했고, 사실 포스팅할거 한가득인데 뭔가 여유가 없었다 (핑계) 포스팅할거 노션에 써놓구.. 정리 못하고 못올린게 넘 많다 괜히 올만에 블로그 포스팅하니까 스킨 한번 바꾸고 ㅋㅋㅋㅋ..껄껄 다시 열심히 해야되는데 해야되는데 하면서 신경을 아예 안쓰고살았다. 싱글코어라 슬프다... 사람들은 어떻게 일도 하고 운동도 하고 공부도 하고 놀기도 하는지 신기하다. 깃허브는 반대로 잡초가득이 아니라 대머리가 되었다. 미안하다 깃허브야 다시 심어주겠다.. 2022 벌써 반년이 지났다니 넘 충격이다. 시간이 너무 빨리간다... 일주일에 한번이라도 정리하는 시간을 좀 가지도록 하자 맨!! 화이팅.
Meet Swift Async Algorithms AsyncSequence Recap (요약) 비동기적으로 생긴 값을 설명하는 프로토콜 Sequence 와 같지만, 2가지 다른점이 있다. AsyncSequence vs Sequence 2가지 다른점 이놈의 iterator(반복자)로부터 다음에 오는 function은 비동기임 (iteration이 Concurrency사용) iteration은 잠재적 failure로부터 throw 가능 (참고: for-await 사용하여 iterate함.) 사실 AsyncSequence는 Sequence에서 사용하는 거의 모든거 사용할 수 있다. ex) map, filter, reduce, … Swift Async Algorithms는 오픈소스 패키지임. 작년에 메세지 앱을..
Get more mileage out of your app with CarPlay 개요 - 세션에서 이야기할 것들 카플레이에서 어떤 앱을 지원하는지 카플레이에서 올해 지원하는 새로운 앱 타입 카플레이에서 만든 앱개발에 도움이 되는 새로운 툴 소개 Carplay apps 카플레이 근본: driver을 위해 만들어짐. 드라이빙을 할 때 관련한 usecase만 고려한다. 그 외적인건 고려 X → (보통 원래 앱에서 약관읽고.. 이런것들 미리 하고 카플레이에서는 안봄.) 애플 카플레이 developer website에서 자격을 요청해야 한다. 어떤 타입인지. 카플레이에서 새로 추가된 타입 - 우측 2개 카플레이는 원래 템플릿을 제공한다. 템플릿은 앱이 카플레이에서 어떻게 UI를 보여줄지이다. 다음과 같은 특징들..
작년 내용 Swift Playground 4 앱 개발 & 앱스토어 등록하는 기능 SwiftUI 지원 Xcode Cloud 지속적 통합 & 배포 오늘부터 이용 가능 가격 23년 말까지 무료 (디벨로퍼 프로그램) 오늘의 주제 요약 Vision for Platform System Experience New APIs Wrap-up 주요 키워드 Xcode Cloud Swift & SwiftUI 잠금화면 위젯, Live Activities Messages Collaboration App Intents - 시리와 우리앱을 통합해줌 새로운 API들이 생겼고 기존 API 업데이트 - WeatherKit, MapKit, Live Text, Metal 1. Vision for (developer) Platform 프로그래밍..
iOS Tutorial 4 - Deeplinking and Workflows https://github.com/uber/RIBs/wiki/iOS-Tutorial-4 목표 앱에 딥링크 대응을 추가하자. RIB workflow와 actionable item에 대한 이해 safari에서 딥링크(ribs-training://launchGame?gameId=ticTacToe)를 통해 앱으로 이동해보자 (+ 시작화면을 bypass해서 바로 게임을 시작해보자) URL handler을 구현하기 URL scheme(deeplinking)은 커스텀 URL을 통해 앱끼리의(inter-app) 통신을 가능하게 한다. 특정 URL 스키마로 앱을 등록하면, 유저가 그 URL을 다른앱(ex. 사파리)에서 열었을 때 앱이 시작된다...