Hello
개발
- UIDebuggingInformationOverlay를 iOS 15 arm64 환경에서 써보자
- SwiftUI 문제해결 기록
- 성능 좋은 Photo Library 만들기
- AttributeString의 AttributeScopes에 대해
- Swift Object로 Associated Object 써보기
- SwiftData에서 ModelActor 사용하기
- [macOS 14] NSMenuToolbarItem와 Palette Menu 사용하기
- [iOS 17, macOS 14] Symbols + Private API
- [Swift Concurrency] Actor는 동시 접근 방지를 항상 보장하지 않는다.
- [iOS 17] Live Photo 배경화면에 대해
- TipKit, 그리고 Swift의 Predicate
- iOS 17 - UIWindowSceneDragInteraction
- [macOS 14] 새로운 App Activation 방식
- watchOS 10 - PUICNavigationBarVisualProvider의 새로운 디자인
- iOS 16 - PosterBoard에 대해
- iOS 16 - Screenshot 원리 학습
- [C++20] Concepts
- SPM과 Dynamic Framework을 쓸 때 Framework 구조에 대해
- Mac Catalyst: Behind the scenes (1)
- Swift Concurrency와 Objective-C 혼용 팁
- LLVM에서 Bitcode의 deprecation에 대해
- [C++20] const, constexpr, consteval, constinit
- iOS 코드 난독화 간략하게 살펴본 후기
- UICollectionView.CellRegistration, 그리고 iOS 15와 iOS 16
- iPhone 14 Pro (Max)에서 Dynamic Island 영역을 투명하게 만들기
- Dynamic Island에서 쓰이는 도형 랜더링을 써보자
- Swift AsyncStream + 메모리 관리
- watchOS에서 UICollectionView를 써보자 (PUICCollectionViewController)
- inputAccessoryView에서 Layout이 안 잡히는 문제해결
- SwiftPM의 제약에 대해
- Advanced Apple Debugging & Reverse Engineering
- Metal by Tutorials
- iOS 16 - UICalendarView
- iOS 16 - UIFindInteraction
- iOS 16 - SwiftUI Layout의 Cache에 대해
- iOS 16 - Core Transferable
- Swift로 정의된 NSObject 객체의 이름에 대해
- Swift의 AnyObject에 대해
- watchOS에서 UIKit 사용
- NSDiffableDataSourceSnapshot, 그리고 Cocoa
- NSDiffableDataSourceSnapshot의 몇가지 팁
- Swift AsyncSequence
- Swift TaskGroup + Batch Size
- iPad에서 SwiftUI NavigationView의 Display Mode Button을 없애기
- ObjectiveCBridgeable
- Swift Interface
- [Objective-C++] 포인터 주소를 가진 객체의 복사
- Swift의 dynamic 키워드에 대해
- [Metal by Tutorials] Chapter 8 - obj 랜더링
기타
About me
- GitHub : https://github.com/pookjw
- LinkedIn : https://www.linkedin.com/in/pookjw/
- Stack Overflow : https://stackoverflow.com/users/17473716/jinwoo-kim
- Email : kidjinwoo@me.com