apple 216

iOS 히치(hitch)에 대해서 알아보기

Understanding hitches in your app 사용자 인터페이스에서의 중단과 히치(hitch)에 대해 알아보기인간의 인식은 화면에서의 움직임 중단에 매우 민감하며, 화면에서 부드러운 움직임이 짧은 시간 동안 멈추는 경우, 단 몇 밀리초라도 쉽게 눈에 띌 수 있음. 이러한 중단을 히치(hitch)라고 부름히치는 스크롤이나 드래그 같은 지속적인 인터랙션 또는 애니메이션 중에 발생각 히치는 사용자 경험에 영향을 미치므로 앱에서 가능한 한 히치를 최소화하는 것이 중요.히치란?움직임 중단은 화면이 예상한 속도로 업데이트되지 않을 때 발생하며, 프레임이 준비되지 않아 화면이 제때 업데이트되지 않으면 프레임이 지연됨.지연된 프레임은 종종 시스템이 이후 한두 개 이상의 프레임을 건너뛰게 만드는데, 이를 ..

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

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

Swift URLProtocol (URLSessionConfiguration)

Swift URLProtocol (URLSessionConfiguration) 최근 서비스에서 애드가드를 막기 위한 방법을 고민하고 있는데, 네트워크 관련 부분을 학습함.학습 후에 테스트코드, 퍼널 분석을 위한 로그 및 시스템 os로그 기록 등 더 다양하게 활용할 수 있을 것으로 기대. 학습 예제 파일 (SPM - Currency)목차OverviewURLProtocol 간단 요약코드 구현 예제주요 메서드 설명코드 사용 예제활용할 수 있는 포인트 OverviewApple의 공식 문서에서 제공하는 URLProtocol은 URL 로딩 시스템의 요청을 처리하는 데 사용되는 강력한 커스텀 프로토콜.URLProtocol은 애플의 URL 로딩 시스템이 네트워크 요청을 처리하는 방식을 커스터마이즈하거나 대체할 수 있도..

iOS SnapshotTesting (스냅샷 테스팅)

iOS SnapshotTesting (스냅샷 테스팅) 오픈소스를 활용해서 스냅샷 테스트를 연습해보고자 함. 목차스냅샷 테스트란?오픈소스 설치하기테스트 코드 작성하기성공한 스냅샷 확인만약에 View의 배경색을 바꾼다면? 예제 파일오픈소스https://github.com/pointfreeco/swift-snapshot-testing 스냅샷 테스트란?스냅샷 테스트는 특정 시점에서의 스냅샷을 저장하고, 이후 변경이 발생했을 때 이를 비교하여 문제를 발견할 수 있음UI 요소(View, ViewController)데이터 구조(JSON, 문자열 등)파일(이미지, 텍스트, PDF 등)스냅샷 테스트는 파일로 저장되어 git 버전 관리를 활용해 변경 내용을 추적할 수 있음.swift-snapshot-testing은 UI와..

[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] HTTP Live Streaming Overview

HTTP Live Streaming Overviewhttps://developer.apple.com/documentation/http-live-streaming목차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 PlaylistOverviewHLS(HTTP Live Straming)은 애플 디바이스에서 멀티미디어를 재생하기 위해 웹서버에서 HTTP 오디..

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