apple 250

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 구문 안에서 ..

AVAudioEngine, AVAudioNode 정리

AVAudioEngine, AVAudioNode 정리 AVAudioEngine과 관련한 내용을 모아서 정리 목차AVAudioEngine오디오 렌더링이란?OverviewCreate an Engine for Audio File PlaybackAVAudioNodeOverviewConfiguring an Input Format BusAVAudioNodeBusinputFormat(forBus:)name(forInputBus:)numberOfInputsCreating an Output Format BusoutputFormat(forBus:)name(forOutputBus:)numberOfOutputsInstalling and Removing an Audio TapinstallTap(onBus:bufferSize:..

AVAudioFormat 정리

AVAudioFormat 정리 AVAudioFormat에 대해서 정리하며 연관된 지식도 모두 함께 정리. 목차AVAudioFormatAVAudioFormat의 프로퍼티들Getting the Audio Stream DescriptionstreamDescriptionGetting Audio Format ValuessampleRatechannelCountchannelLayoutformatDescriptionDetermining the Audio FormatisInterleavedisStandardcommonFormatsettingsmagicCookieAVAudioFormat과 AudioStreamBasicDescription의 비교 정리Channel과 ChannelLayout의 차이AVAudioCommonFo..

AudioStreamBasicDescription 정리

AudioStreamBasicDescription 정리 CoreAudioType에 속하는 AudioStreamBasicDescription를 정리. 목차AudioStreamBasicDescription패킷의 지속 시간(Duration) 계산구조체의 모든 필드를 0으로 초기화하는 코드Core Audio에서 사용하는 용어 정의AudioStreamBasicDescription의 Instance PropertymFormatIDmSampleRatemBitsPerChannelmBytesPerPacketmReservedmFramesPerPacketmChannelsPerFramemBytesPerFramemFormatFlags AudioStreamBasicDescription 오디오 스트림을 위한 포맷 명세서. 오..

AVAudioPCMBuffer 정리

AVAudioPCMBuffer 정리 AVAudioPCMBuffer를 학습하고 이와 관련한 개념들을 정리. 목차AVAudioPCMBuffer 선수 지식 정리AVAudioPCMBufferAVAudioPCMBuffer의 인스턴스 프로퍼티AVAudioPCMBuffer().frameLengthAVAudioPCMBuffer().frameCapacityAVAudioPCMBuffer().strideAVAudioPCMBuffer().floatChannelDataAVAudioPCMBuffer().int16ChannelData, AVAudioPCMBuffer().int32ChannelData AVAudioPCMBuffer 선수 지식 정리 AVAudioPCMBuffer를 학습하기 전에 사전 개념으로 필요.자세한 이론은 하..

AssetInventory 정리 + AssetInstallationRequest

AssetInventory 정리 + AssetInstallationRequest AssetInvenotry에 대해서 정리하고 관련된 메서드들 하나씩 정리 목차AssetInventoryOverviewInstall AssetsManage AssetsDownloading and installing assetsassetInstallationRequest(supporting:)Checking asset statusAssetInventory.StatusdownloadinginstalledsupportedunsupportedType PropertiesAssetInventory.maximumReservedLocalesAssetInventory.reservedLocalesType MethodsAssetInventory..

SpeechAnalyzer

SpeechAnalyzer 음성으로 입력된 오디오 콘텐츠를 다양한 방식으로 분석하고, analysis session을 관리 OverviewSpeech 프레임워크는 특정 유형의 analysis(분석) 및 transcription(받아쓰기) 기능을 제공하기 위해 analyzer에 추가할 수 있는 여러 모듈을 제공 대부분의 사용 사례에서는 음성을 텍스트로 변환하는 SpeechTranscriber 모듈만으로 충분. SpeechAnalyzer 역할관련 모듈을 보관음성 오디오 입력을 수신전체 분석 흐름을 제어각 모듈의 역할허용되는 입력 형태에 대한 가이던스를 제공자체 분석 결과 또는 transcription 결과를 출력비동기 기반으로 흐름 분석Analysis는 비동기로 수행.입력, 출력, 세션 제어는 서로 분리..

SpeechTranscriber 정리 + DictationTranscriber

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

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..