ios 144

구조화된 동시성의 기초를 넘어 (Beyond the basics of structured concurrency) - WWDC23

구조화된 동시성의 기초를 넘어 (Beyond the basics of structured concurrency) - WWDC23 목차Task hierarchyTask cacnellationTask priorityTask group patternsTask-local valuesTask traces Task hierarchy 구조화된 동시성을 사용하면 동시적 코드를 추론할 수 있음.실행이 분기하여 동시에 실행되고, 해당 결과가 다시 재합류하는 그 지점을 잘 정의하여 그 지점을 사용할 수 있음.`if block`과 `for loop`가 동기식 제어 흐름의 동작을 정의하는 방식과 비슷 동시성을 정의하는 방법은 여러가지가 있으나, 모든 작업이 구조화된 것은 아님.구조화된 작업은 작업이 선언된 스코프에서 끝까지 살..

apple/WWDC 2025.04.25

iOS 앱 크기 줄이기

iOS 앱 크기 줄이기 예전에 개발했던 앱 사이즈가 너무 커서 앱 용량을 줄이기 위해서 분석.애플 문서를 먼저 정리하고, 후에 실제 앱에 적용한 순서로로 작성.목차Reducing your app’s size (iOS 앱 크기 줄이기)Reducing your app’s size - OverviewCreate the app size reportThis process creates a folder with your app’s artifactsApp Thining Size Report 생성 자동화하기Doing basic optimization to reduce your app’s size (앱 사이즈 최적화하기)Doing basic optimization to reduce your app’s size - Ove..

iOS 최적화된 디스크 쓰기 관리

iOS 최적화된 디스크 쓰기 관리 데이터 저장을 위해 디스크에 쓰는 행위는 배터리 수명 및 저장 장치의 수명에 영향을 미침.디스크 쓰기를 줄이는 방법을 이해하면 앱 성능을 최적화하고 사용자 경험을 개선할 수 있음.  일반적으로 모든 iOS기기와 일부 macOS는 영구 저장소로 SSD를 사용함. SSD나 저장 매체에 있는 데이터에 엑세스 하는 속도는 RAM에 비해서 느림. Xcode와 Instruments를 사용하여 앱의 디스크 쓰기 성능을 파악할 수 있음. SSD 접근 최적화하기시스템이 SSD의 블록에 쓰기 작업을 수행할 때 해당 블록에 대한 새로운 읽기 요청은 기존 수행하는 쓰기 작업이 완료할 때 까지 대기함.SSD에 쓰는 것은 읽기 보다 느린 작업.읽기 및 쓰기 요청을 인터리빙하면 앱의 성능이 느..

iOS 캐싱 로직 구현 전 디스크 분석

iOS 캐싱 로직 구현 전 디스크 분석 앱에서 서버를 통해 값을 받아온 후 이 값을 캐싱하고 있다가 사용자가 앱을 종료 후에 다시 접속한 경우 캐싱된 값을 먼저 보여준 후 네트워크 응답이 도착하면 갱신하는 형태로 구현하고자 함. UserDefaults, SwiftData, CoreData, Realm, Filemanager 중에서 어떤걸 선택하는 것이 좋은지 궁금해서 비교해보기로 함.UserDefaults: 간단한 데이터 저장에 유용해 적합하지 않을 것으로 보임.SwiftData: iOS 17이상이라서 현재 현실적으로 사용하기가 어려움.CoreData: Realm이 있어서 굳이 써야하는지 의문이긴 함.Filemanager: 자주 변경되는 데이터라서 성능적으로 적합하지 않을 것 같음.Realm: 12.2..

[HLS] Creating a Multivariant Playlist

Creating a Multivariant Playlisthttps://developer.apple.com/documentation/http-live-streaming/creating-a-multivariant-playlist동일 컨텐츠의 다른 인코딩을 제공하기 위한 여러 플레이리스트.목차Adding alternate media to a playlistIncorporating Ads into a PlaylistVideo on Demand playlist constructionEvent playlist constructionLive Playlist (sliding window) constructionHTTP Live Streaming OverviewCreating a Multivariant Playlist..

apple/HLS 2024.12.05

[HLS] Live Playlist (sliding window) construction

Live Playlist (sliding window) constructionhttps://developer.apple.com/documentation/http-live-streaming/live-playlist-sliding-window-construction라이브 세션 플레이리스트를 위한 기본 구성에 대한 이해목차Adding alternate media to a playlistIncorporating Ads into a PlaylistVideo on Demand playlist constructionEvent playlist constructionLive Playlist (sliding window) constructionHTTP Live Streaming OverviewCreating a Multi..

apple/HLS 2024.12.05

[HLS] Event playlist construction

Event playlist constructionhttps://developer.apple.com/documentation/http-live-streaming/event-playlist-construction이벤트 세션 플레이리스트의 기본 구조에 대해 학습목차Adding alternate media to a playlistIncorporating Ads into a PlaylistVideo on Demand playlist constructionEvent playlist constructionLive Playlist (sliding window) constructionHTTP Live Streaming OverviewCreating a Multivariant PlaylistOverview이벤트 플레이리스..

apple/HLS 2024.12.05

[HLS] Incorporating Ads into a Playlist

Incorporating Ads into a Playlisthttps://developer.apple.com/documentation/http-live-streaming/incorporating-ads-into-a-playlist플레이리스트에 브랜딩 또는 광고 추가.목차Adding alternate media to a playlistIncorporating Ads into a PlaylistVideo on Demand playlist constructionEvent playlist constructionLive Playlist (sliding window) constructionHTTP Live Streaming OverviewCreating a Multivariant PlaylistOverview자신의..

apple/HLS 2024.12.05

[HLS] Adding alternate media to a playlist

Adding alternate media to a playlisthttps://developer.apple.com/documentation/http-live-streaming/adding-alternate-media-to-a-playlist기본 프레젠테이션에 대체가능한 플레이리스트를 지정.목차Adding alternate media to a playlistIncorporating Ads into a PlaylistVideo on Demand playlist constructionEvent playlist constructionLive Playlist (sliding window) constructionHTTP Live Streaming OverviewCreating a Multivariant Playli..

apple/HLS 2024.12.03