ios 160

UNUserNotificationCenter `requestAuthorization`에서 발생하는 희귀한 버그 현상 분석

UNUserNotificationCenter `requestAuthorization`에서 발생하는 희귀한 버그 현상 분석 예전에 작성된 코드에서 앱이 멈추는 상황이 발생해서 사례 분석 상세한 분석 링크https://github.com/lgvv/unusernotificationcenter-requestauthorization-blocking-simulation GitHub - lgvv/unusernotificationcenter-requestauthorization-blocking-simulation: Investigating Rare Bugs in UNUserNotificationCeInvestigating Rare Bugs in UNUserNotificationCenter’s RequestAuthori..

l-value, r-value

l-value, r-value프로젝트 내 C, C++, objective-c, swift 코드가 존재하여 이를 분석하면서 개념 정리. 용어 정리 L-value (locator value)란?메모리상의 위치(location) 를 가리키는 표현식.: 대입의 왼쪽에 올 수 있는 것(항상은 아님). 변수, 배열 원소, 프로퍼티, deref(*p) 등.: 즉, 여기에 값을 저장할 수 있음. R-value (read value / right value)란? 실제 값(리터럴, 계산 결과, 일시적인 임시객체).: 보통 대입의 오른쪽에 오는 것. 임시값이므로 주소를 갖지 않거나 곧 사라짐.: 즉, 이건 읽을 수는 있지만, 직접 이곳에 값을 저장할 수는 없다. ** 참고 ** : 현대 언어는 이분법을 확장.: 예: C++..

ARC in Swift: Basics and beyond - WWDC21

ARC in Swift: Basics and beyond - WWDC21 Swift에서는 가능하다면 Value Type 사용하는게 더 좋은데 Reference Type을 사용해서 의도치 않은 데이터 공유에 따른 오류를 피할 수 있음.그럼에도 불구하고 class와 같은 Reference Type을 사용해야 한다면 Swif에서 ARC를 통해 메모리를 관리하고 효과적으로 코드를 작성하기 위해서는 ARC의 동작 방식을 이해하는게 도움이 됨. Object lifetimes and ARC: Swift에서 객체 수명과 ARC에 대한 리뷰Observable object lifetimes: 관찰 가능한 객체의 수명이 무엇인지 설명: 관찰 가능하게 만드는 언어적 특징과 관촬된 객체 수명에 의조낳는 것의 결과와 이를..

apple/WWDC 2025.10.23

Adaptive Bit Streaming

Adaptive Bit Streaming Adaptive Bitrate Streaming란 네트워크 환경에 따라 실시간으로 비디오 스트림의 비트레이트(화질)을 동적으로 조절해 시청자에게 끊김 없는 최적의 시청 경험을 제공하는 기술 동작 방식비디오 서버는 하나의 원본 영상을 여러가지 비트레이트와 해상도로 인코딩하여 저장. 시청자의 비디오 플레이어는 현재 네트워크 대역폭(bandwidth)를 지속적으로 모니터링하면서 대역폭이 충분하면 고화질(높은 비트레이트) 세그먼트(segment)를 요청하고대역폭이 충분하지 않다면 저화질(낮은 비트레이트) 세그먼트로 자동으로 전환하면서 동적으로 동작 동작 방식에 대한 이미지이미지를 동적으로 변경하면서 실행 주요 프로토콜Apple - HLS (HTTP Live Stream..

apple/HLS 2025.10.23

백그라운드에서 작업 완료하기 (Finish tasks in the background) -wwdc25

백그라운드에서 작업 완료하기 (Finish tasks in the background) -wwdc25 사용자가 앱을 나가고도 프로세스가 살아 있으면 앱은 백그라운드로 전환.기본적으로 백그라운드 앱은 Suspended 되어서 CPU를 사용하지 않게 됨. 이는 배터리를 보호하고 개인 정보를 지키며 foreground 앱에 더 많은 리소스를 확보해 줌. 경우에 따라서는 앱은 suspened 전 작업을 마무리 할 수 있도록 백그라운드에 실행을 요청할 수 있음. 백그라운드 런타임을 사용하기 전에 시스템이 리소스를 어떻게 우선순위화 하고 관리하는지 그리고 앱 안에서 무엇을 할 수 있을지 이해하는 것이 좋음. 시스템의 목표는 배터리를 보호하고 개인정보를 지키며 반응성 좋은 앱을 만드는 것임.즉, 백그라운드 실행은..

apple/WWDC 2025.07.30

Swift Concurrency Task weak self 실험 정리

Swift Concurrency Task weak self 실험 정리 Task에서 weak self 사용과 관련해서 실험들을 정리.개념에 대한 부분을 따로 생략함. Swift에서 Task를 사용할 때 self를 강하게 캡처하지만, 클로저가 종료될 때 메모리 Swift의 Task는 기본적으로 self를 강하게 캡처하기 때문에, Task의 수명이 self보다 길어질 경우 retain cycle 없이도 self의 deinit 호출이 지연될 수 있음.따라서 Task가 더 오래 살아 있을 가능성이 있다면 [weak self]를 명시하는 것이 안전.반면, Task의 수명이 self보다 짧고 일회성 작업에 그친다면 굳이 [weak self]를 사용할 필요는 없음. 목차example_1Task에 weak self를 명..

Transactional observation preserves consistency

Transactional observation preserves consistency Transactional observation preserves consistency는 주로 상태 관찰 시스템(ex Swift의 Observable)에서 사용하는 개념 Transactional observation트랜잭션 단위의 관찰 → 일련의 변화(이벤트, 값 변경 등)를 하나의 단위로 관찰한다는 뜻Preserves consistency일관성을 유지한다 → 상태가 중간에 깨지지 않고, 항상 논리적으로 올바른 상태라는 뜻 즉, 여러 상태 변화가 한꺼번에 발생했을 때, 그 중간 과정은 보지 않고 완전히 반영된 상태만 관찰자에게 전달된다는 의미.

Swift의 새로운 기능 (What's new in Swift) - WWDC25

Swift의 새로운 기능 (What's new in Swift) - WWDC25Swift 6.2의 새로운 기능과 개선점 소개 swiftly는 버전 관리자로 원래 Linux상 Swift Toolchain 관리를 간소화하기 위해 오픈소스 커뮤니티에서 개발올해부터 swiftly는 macOS를 지원하고 swift.org에서 1.0 릴리즈를 만나볼 수 있음. `> swiftly install 6.1.3`으로 설치하거나 `>swiftly install main-snapshot`을 통해 깃헙 main 브랜치에서 설치하여 개발중인 기능을 설치할 수 있음. Xcdoe에서 swiftly가 설치한 Toolchain은 메뉴에서 사용할 수 있음.VSCode에서는 Toolchain을 선택할 수 있음. VSCode에서는 올해..

apple/WWDC 2025.07.21

SpeechAnalyzer로 앱에 고급 음성 텍스트 변환 기능 가져오기 (Bring advanced speech-to-text capabilities to your app with SpeechAnalyzer) - WWDC25

SpeechAnalyzer로 앱에 고급 음성 텍스트 변환 기능 가져오기 (Bring advanced speech-to-text capabilities to your app with SpeechAnalyzer) - WWDC25 더욱 발전된 음성 텍스트 변환 API 및 기술인 SpeechAnalyzer가 올해 도입되었음. 이번 세션에서는 SpeechAnalyzer API 및 이와 관련된 핵심 개념을 살펴볼 것API의 기반이 되는 모델에 도입된 새기능에 관해 간단히 설명마지막으로 API 사용 방법과 데모 앱을 만나 볼 예정. 다양한 앱에서 이미 해당 기능을 사용하고 있음.이를 Apple Intelligence와 결합하면 통화 요약과 같은 기능을 구현할 수 있음.해당 API를 활용해서 실시간으로 음성을 ..

apple/WWDC 2025.07.14