swift 187

빠르게 링크: 빌드 및 실행 시간 개선 (Link fast: Improve build and launch times) - WWDC22

빠르게 링크: 빌드 및 실행 시간 개선 (Link fast: Improve build and launch times) - WWDC22 목차What is static linking?몇 가지 예와 정적 링킹이 무엇인지 정의Recent ld64 improvements애플의 정적 링커인 ld64의 신기능 Sattic linking best practices정적 링킹에 대한 배경시직과 함께 모범 사례에 대해서 설명What is dynamic linking?동적 링킹 과정에서 어떤 일이 발생하는지 다룸Recent dyld improvements올해 dyld의 새로운 기능Dynamic linking best practices동적 링크 시간 성능 개선을 위해 할 수 있는것New tools바이너리에 무엇이 있고, 동적 ..

apple/WWDC 2026.01.02

Xcode 빌드에서의 병렬 처리에 대한 오해 해소(Demystify parallelization in Xcode builds) - WWDC22

Xcode 빌드에서의 병렬 처리에 대한 오해 해소(Demystify parallelization in Xcode builds) - WWDC22 Xcode의 빌드 프로세스에 대해 자세히 정리 목차Core concepts빌드의 핵심 개념 및 빌드 성능 문제를 검토하는데 도움이 되는 Xcode 도구 탐색Build phase타겟 빌드 시 Xcode의 병렬화 증가 방법Corss-Target buildsXcode가 어떻게 많은 타겟으로 구성된 프로젝트를 구축하면서 빌드를 전체적으로 병렬로 처리하는지 Xcode의 빌드 시스템은 전체 프로젝트의 표현으로 호출.모든 source file, assets, build configuration 등 실행 타겟과 같은 기타 구성을 포함. 빌드 시스템은 앱 빌드 방법에 대..

apple/WWDC 2025.12.30

swift rethrows

swift rethrows 함수나 메서드는 rethrows 키워드를 사용하여 선언할 수 있음.이는 함수 매개변수 중 하나가 에러를 던질 경우에만 에러를 던진다는 것을 의미.이러한 함수와 메서드를 rethrowing 함수(rethrowing functions) 또는 rethrowing 메서드(rethrowing methods)라고 부름. func someFunction(callback: () throws -> Void) throws { try callback()} rethrowing 함수와 메서드는 적어도 하나의 throwing 함수 매개변수를 가져야 함.rethrowing 함수나 메서드는 오직 catch 블록 안에서만 throw 문을 포함할 수 있음. 이 규칙을 통해 do-catch 구문 안에서 ..

SpeechTranscriber 정리 + DictationTranscriber

SpeechTranscriber 정리 + DictationTranscriber SpeechTranscriber, DictationTranscriber 각각에 대해서 정리하고, SpeechTranscriber의 속성과 구현을 하나씩 확인. 목차 SpeechTranscriberOverviewCheck device supportDictationTranscriberOverviewImprove accuracySpeechTranscriber와 DictationTranscriber 비교 정리SpeechTranscriber 자세히 보기isAvailable과 supportedLocales 프로퍼티 정의Configuring transcriptionSpeechTranscriber.ReportingOptionSpeechTra..

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

UNUserNotificationCenter `requestAuthorization`에서 발생하는 희귀한 버그 현상 분석 사내에 2021년에 작성된 코드에서 앱이 멈추는 상황이 발생해서 사례 분석앱 시작 직후가 아닌, 사용자에게 별도 페이지에서 안내 후 버튼 클릭을 통한 권한 요청의 동선 상세한 분석 링크https://github.com/lgvv/unusernotificationcenter-requestauthorization-blocking-simulation GitHub - lgvv/unusernotificationcenter-requestauthorization-blocking-simulation: Investigating Rare Bugs in UNUserNotificationCeInvestiga..

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

Secure your app with Memory integrity Enforcement (메모리 무결성 강화로 앱 보호하기)

Secure your app with Memory integrity Enforcement (메모리 무결성 강화로 앱 보호하기) 메모리 무결성 강화를 통해 앱을 보호하는 방법. Memory corruption: Most common vulnerability (메모리 손상) > 공격자는 메모리 버그를 이용해 앱의 제어권을 장악하고 사용자의 민감한 데이터를 훔칠 수 있음. 예를 들어 버퍼 오버플로우는 버퍼의 경계를 넘어 다른 할당의 메모리를 손상시킴.: 이런 경우에 다른 포인터가 메모리를 읽을 때 데이터 손상과 재현하기 어려운 충돌이 발생할 수 있음. Use-after-free memory corruption 앱이 메모리 chunk를 할당 해제했지만 해당 메모리에 dangling pointer가 남아 있는..

apple/WWDC 2025.10.19

Elevating an app with Swift concurrency (Swift 동시성으로 앱 수준 높이기)

Elevating an app with Swift concurrency (Swift 동시성으로 앱 수준 높이기) Asynchronous code: 단일 스레드에서 시작해서 필요에 따라 비동기 코드 도입Parallelism: 앱 성능 개선을 위해 자원이 많이 소모되는 작업을 오프로드하고 병렬로 실행Data-race safety: 일반적인 데이터 경쟁 안전 시나리오와 해결을 위한 접근 방식도 알아봄Structured concurrency: 구조화된 동시성을 살펴보고 동시성 코드를 더 세밀하게 조정하는 TaskGroup 등도 사용 Asynchronous code Xcode에 몇가지 기능이 추가되어 동시성을 더 쉽게 도입할 수 있음.: Approachable Concurrency를 YES로 설정: Def..

apple/WWDC 2025.10.19