일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 대머리깃허브
- RIBs Tutorial
- windowScene
- Apple Certificate
- 로버트마틴형
- Dispatch.main.sync
- ios
- RxSwift
- coordinateSpace
- Large File Storage
- Git Large File Storage
- conflicting access to memory
- 클린아키텍쳐
- Automatically manage signing
- UICoordinateSpace
- Dependency Rule
- Github file size
- iOS Target
- Concurrent
- memory safety
- 잡초가득블로그
- 메모리 접근 충돌
- in-out
- iOS 버전 점유율
- App Signing
- RxCocoa
- swiftdocs
- Ribs
- rib
- SWIFT
- Today
- Total
목록전체 글 (70)
빙수왕의 개발일지
1. 그냥 위젯 눌러서 앱 켜질 때 (configurable 위젯이라 그럴지도)func scene(_ scene: UIScene, continue userActivity: NSUserActivity) 이 때 찍어본 값들(lldb) po userActivity.activityType"SomeWidgetConfigurationIntent" // configurable"com.someCompany.someApp.Widget.someWidget" // 일반 위젯(lldb) po userActivity.userInfo▿ Optional> ▿ some : 2 elements ▿ 0 : 2 elements ▿ key : AnyHashable("WGWidgetUserInfoKeyFamily") ..
시스템데이터에 300기가정도 있었는데, 이 방법으로 약 100기가 이상 확보했다;; 내 컴퓨터에서 용량 제일 많이 차지하던 폴더는 XCode 시뮬레이터 관련이였다.. (약 152G) - 맥에 일반 > 저장공간 > 개발자에 안잡힘../Users/user/Library/Developer/CoreSimulator 용량 트래킹 방법터미널에서 폴더 하나씩 들어가면서 아래 명령어 실행sudo du -sh * | sort -rh 시뮬레이터가 엄청 많았다.. 안쓰는 시뮬레이터 정리했음.시뮬레이터 마지막 실행시간 조회ls -lt ~/Library/Developer/CoreSimulator/Devices 사용한 지 30일 이상 된 시뮬레이터 데이터 삭제find ~/Library/Developer/CoreSimulator..
서버에서 내려주는 커피 리스트가 있다. 이 커피 리스트를 디코딩한다고 가정하자. 커피 종류는 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를 보여줄지이다. 다음과 같은 특징들..