Apple🍎
-
좀 더 Low 하게 가보자~ Swift 저수준 메모리 관리Apple🍎/Swift 2025. 4. 25. 20:25
ARC(Automatic Reference Counting)의 작동 원리ARC는 Swift에서 메모리를 자동으로 관리하는 메커니즘입니다.참조 카운팅 기본 원리: 각 참조 타입 객체(클래스 인스턴스)는 자신을 가리키는 참조의 개수를 추적하는 참조 카운트를 가집니다.카운트 증감 동작객체에 새 참조가 생성될 때 → 카운트 증가참조가 범위를 벗어날 때 → 카운트 감소카운트가 0이 되면 → 메모리에서 해제참조 타입강한 참조(strong): 기본값, 참조 카운트를 증가시킴약한 참조(weak): 참조하는 객체가 메모리에서 해제될 수 있음, 참조 카운트 증가 안 함, 자동으로 nil이 됨미소유 참조(unowned): weak과 유사하지만 nil이 되지 않음, 참조 객체가 반드시 자신보다 오래 살아있다고 가정순환 참조 ..
-
🎧 AVFoundation 오디오 분석을 위한 데이터 다루기Apple🍎 2025. 4. 24. 21:48
📦 1. 미디어 파일 구조 이해🔹 컨테이너와 트랙.mp4, .mov, .m4a 등은 컨테이너 형식컨테이너 내부에는 여러 트랙이 존재🎥 Video Track🎧 Audio Track💬 Subtitle Track 등👉 AVAsset을 통해 각 트랙을 구분하고 추출할 수 있다.🎵 2. 오디오 트랙 추출let asset = AVAsset(url: fileURL)let audioTracks = asset.tracks(withMediaType: .audio)오디오 트랙만 골라서 가져올 수 있음여러 오디오 트랙이 있을 수 있으므로 필요한 경우 조건 필터링 필요.mp3는 트랙 기반이 아니라서 예외 처리 필요🧪 3. AVAssetReader + AVAssetReaderTrackOutput컴포넌트 역할AVAs..
-
🎬 Final Cut Pro Workflow Extension 개발 환경 세팅하기Apple🍎/Workflow Extensions 2025. 4. 23. 09:54
Building a Workflow Extension | Apple Developer DocumentationCreate a workflow extension in Xcode by using the Final Cut Pro Workflow Extension template.developer.apple.com1️⃣ Workflow Extension 문서 요약📌 Workflow Extension이란?Final Cut Pro 내부에서 실행되는 macOS 앱 기반의 확장 프로그램이다.플러그인처럼 보일 수 있지만, 실제로는 macOS 앱이 Final Cut Pro 내부에서 구동되면서 독립적인 UI와 기능을 제공한다.이를 통해 사용자는 타임라인 마커, 편집 흐름, 메타데이터 등을 자동화하거나 외부 서비스와 연동할..
-
[iOS, macOS] StoryBoard 없이 코드 베이스 UI 구성하기Apple🍎 2025. 4. 22. 20:54
📱 iOS vs 🖥 macOS – 코드베이스 UI를 위한 프로젝트 세팅 비교UIKit과 AppKit, 두 플랫폼 모두 코드로 UI를 작성하고 싶을 때가 있습니다.그런데 둘 다 Xcode에서는 Storyboard나 SwiftUI를 기본으로 요구하죠.오늘은 iOS와 macOS에서 스토리보드 없이 코드만으로 UI를 구성하기 위한 초기 세팅 방법을 비교해봅니다.🧭 목차왜 스토리보드를 쓰지 않나?iOS (UIKit) 프로젝트 세팅macOS (AppKit) 프로젝트 세팅주요 차이점 요약마무리1. 왜 스토리보드를 쓰지 않나?유지보수가 어렵고 충돌 위험이 큼협업 시 Git conflict 빈번복잡한 UI는 코드가 더 명확할 수 있음재사용성과 확장성이 낮음그래서 많은 개발자들이 코드로 UI를 직접 작성하고 싶어하죠..
-
Final Cut Pro 워크플로우 확장(Workflow Extensions) 알아보기Apple🍎/Workflow Extensions 2025. 4. 22. 15:58
워크플로우 확장이란?워크플로우 확장(Workflow Extensions)은 여러분의 앱 기능을 Final Cut Pro 인터페이스 내에서 직접 사용할 수 있게 해주는 기능입니다. 이는 앱을 대체하는 것이 아니라, 앱의 핵심 기능을 Final Cut Pro 안으로 가져와 작업 효율을 높이는 방법입니다.예를 들어, 스톡 영상을 찾고 관리하는 앱을 사용한다면, Final Cut Pro를 나가지 않고도 해당 앱의 주요 기능을 바로 이용할 수 있게 됩니다. 이렇게 되면 두 프로그램을 번갈아 전환하는 시간을 줄일 수 있죠.컨테이너 앱과 호스트 앱워크플로우 확장을 이해하기 위해서는 두 가지 개념을 알아야 합니다.컨테이너 앱(Container App): 워크플로우 확장을 포함하고 제공하는 macOS 앱입니다.호스트 앱..
-
FxPlug 개발 환경 세팅하기Apple🍎/FxPlug 2025. 4. 20. 18:19
💡시작 전 Plug-ins 이란? 플러그인은 확장 기능으로써 Final Cut Pro나 Motion같은 Host Application의 기능을 확장하는 추가 소프트웨어입니다. Host Application?호스트 어플리케이션이란 플러그인이 실행되는 기반이 되는 소프트웨어를 의미합니다. 플러그인은 독립적으로 실행될 수 없으며, 항상 호스트 어플리케이션 내에서 작동합니다. Final Cut Pro는 Apple의 전문 비디오 편집 소프트웨어로, 주로 다음 목적을 가집니다.비디오 편집 및 시퀀싱전체 프로젝트 관리타임라인 기반 작업최종 출력 및 내보내기Motion은 모션 그래픽 제작 도구로, 주요 목적은 다음과 같습니다.애니메이션 및 모션 그래픽 제작시각 효과 생성타이틀 및 텍스트 애니메이션 제작효과 및 트..
-
🎬 FxPlug란 무엇인가?Apple🍎/FxPlug 2025. 4. 19. 17:56
Final Cut Pro나 Motion을 사용하는 영상 전문가들을 위한 전문 영상 플러그인 개발 프레임워크가바로 FxPlug입니다.🔍 1. FxPlug의 정의FxPlug는 Apple이 macOS를 위한 비디오 효과 플러그인을 개발할 수 있게 만든 프레임워크입니다.Final Cut Pro와 Motion에서 사용할 수 있는 비디오 이펙트, 트랜지션, 타이틀, 제너레이터 등을 개발할 수 있도록 도와주며, GPU 기반 고성능 렌더링까지 제공합니다.FxPlug는 단순한 API가 아니라, macOS의 렌더링 파이프라인과 깊게 통합된 플러그인 아키텍처입니다. 🏗️ 2. FxPlug의 아키텍처FxPlug는 크게 다음과 같은 구조로 구성됩니다.구성 요소 설명FxPlug 프레임워크Final Cut Pro와 연결되는 A..
-
Swift 동시성 모델Apple🍎/Swift 2025. 4. 18. 20:14
실행 컨텍스트 (Execution Context)실행 컨텍스트는 코드가 실행되는 독립적인 환경을 의미합니다. Swift의 동시성 모델에서 각 컨텍스트는 자체적인 격리 특성을 가지고 있으며, 이를 통해 안전한 동시성을 구현합니다.주요 실행 컨텍스트 유형메인 액터 컨텍스트 (Main Actor Context)UI 작업을 위한 특별한 컨텍스트항상 메인 스레드에서 실행됨@MainActor 속성이나 MainActor.run { } 블록 내부 코드가 이 컨텍스트에서 실행됨액터 컨텍스트 (Actor Context)각 액터 인스턴스마다 고유한 컨텍스트 존재액터 내부의 메서드와 프로퍼티에 접근할 때 활성화됨자체 직렬 큐를 통해 상태 접근을 동기화하여 데이터 레이스 방지분리된 태스크 컨텍스트 (Detached Task C..