iOS 27 전반의 온디바이스 AI: Spotlight와 Media
iOS 26에서 온디바이스 대규모 언어 모델은 앱 안에 존재했습니다. LanguageModelSession을 열고 도구를 연결한 다음, 넘겨준 컨텍스트를 모델이 추론하는 방식이었죠1. iOS 27은 같은 모델을 한 단계 위로 끌어올립니다. Apple은 이제 이 모델을 Core Spotlight에 연결해 앱의 기존 검색 인덱스가 모델의 근거(grounding) 소스가 되도록 했고2, AVFoundation에도 연결해 재생 중에 기기가 자막을 받아쓰고 번역하도록 했습니다. 앱은 추론 코드를 단 한 줄도 작성하지 않습니다3. 바로 이 변화가 핵심입니다. 온디바이스 모델은 앱 내부의 API에 머무르지 않고 시스템 서비스가 되어 가고 있습니다. 코드에서 직접 호출하는 그 동일한 지능이 검색의 아래에서도, 미디어의 아래에서도 작동하며, 이미 사용하고 있는 프레임워크를 통해 닿을 수 있습니다.
이 글에서는 그 시스템 표면 중 두 가지를 WWDC26 세션에서 다룹니다. Core Spotlight를 통한 LLM 검색(세션 246)과 화면상 스타일 미리보기를 갖춘 Apple AI 생성 자막(세션 256)입니다. 첫 번째를 떠받치는 프레임워크의 기본 요소를 아직 접하지 못했다면, Foundation Models 온디바이스 LLM 설명과 iOS 27 도구 호출 글이 토대를 마련해 줍니다.
TL;DR
SpotlightSearchTool은 Foundation Models의Tool프로토콜을 채택해, 언어 모델이 앱의 Core Spotlight 인덱스를 직접 검색하고 맥락에 맞는 응답을 생성할 수 있게 합니다. Apple은 이를 iOS, iPadOS, macOS, visionOS에서 제공합니다2.- 도구는 대략 한 줄로 구성하고
LanguageModelSession에 연결하면, 모델이 스스로 쿼리를 생성하고 인덱스에 실행한 뒤 그 결과를 추론합니다2. - 새로운 인덱스 델리게이트 메서드
searchableItems(forIdentifiers:)를 사용하면 전체CSSearchableItem을 복원할 수 있어, 압축된 검색 인덱스가 반환할 수 없는 메타데이터를 모델이 볼 수 있습니다2. - 가이던스 프로파일은 더 작은 모델을 위해 도구의 검색 역량 범위를 좁혀 주고, 커스텀 파이프라인 스테이지는 인덱스가 모델을 대신해 연산(개수, 평균, 커스텀 점수)을 수행하게 합니다2.
- Apple AI 생성 자막은 재생 중에 실시간으로, 로컬에서 작동하며 앱 코드가 필요 없습니다. 오디오로부터의 음성 받아쓰기와 기존 자막으로부터의 언어 번역이라는 두 가지 경로를 다룹니다3.
AVPlayerViewController는 생성 자막과 새로운 플레이어 내 스타일 미리보기를 별도 작업 없이 얻습니다.AVPlayerLayer와AVCaptionRenderer는 커스텀 플레이어 UI를 위해 스타일 미리보기 API를 노출합니다3.
무엇이 시스템으로 옮겨 갔는가
iOS 26의 이야기는 하나의 모델을 프로세스 안에 두고, 이를 확장할 Tool 프로토콜을 제공하는 것이었습니다1. iOS 27은 그 모델을 유지하면서, 시스템이 여러분을 대신해 모델을 불러오는 곳을 두 군데 추가합니다. Core Spotlight는 모델이 질의할 수 있는 검색 표면이 되어, 이미 기증해 둔 검색 인덱스를 근거 있는 맥락으로 바꿉니다. AVFoundation은 받아쓰기와 번역 표면이 되어, 원본 미디어에 애초에 들어 있지 않던 언어의 자막을 만들어 냅니다.
두 기능은 공통된 패턴을 알아차리기 전까지는 서로 무관해 보입니다. 둘 다 Apple이 모델과 무거운 작업을 맡고, 앱은 콘텐츠와 표시 표면을 맡습니다. 여러분이 검색 가능한 항목을 기증하면 모델이 쿼리를 작성합니다. 여러분이 영상을 재생하면 기기가 자막을 생성합니다. 지능은 공유되는 시스템 역량이며, 여러분의 일은 그것을 구현하는 데서 적절한 콘텐츠를 공급하고 결과를 잘 제시하는 쪽으로 옮겨 갑니다.
Core Spotlight를 통한 LLM 검색
SpotlightSearchTool을 소개합니다. 이는 Foundation Models의 Tool 프로토콜을 채택한 도구로, 언어 모델이 응답 생성을 위해 앱의 Core Spotlight 콘텐츠를 직접 검색합니다.
Apple이 제시하는 예시는, 이미 주립공원과 트레일을 둘러볼 수 있고 하이킹 때마다 사용자가 개인 메모를 적을 수 있는 하이킹 트레일 앱입니다. 개발자는 그 하이킹들에 대해 모델에게 자유롭게 질문하고 싶어 합니다. 맨 LanguageModelSession은 모델 자신의 세계 지식으로 답하는데, 이는 잘못된 소스입니다. 답은 앱이 실제로 알고 있는 하이킹에서 나와야 합니다. 이 앱은 이미 모든 트레일을 Core Spotlight 검색 인덱스에 색인해 두었으므로, 해결책은 도구 호출을 통해 모델이 그 인덱스에 접근하게 하는 것입니다2.
그것이 바로 SpotlightSearchTool이 하는 일입니다. Apple은 이를 Tool 프로토콜을 채택한 도구로 소개합니다. 언어 모델이 맥락에 맞는 응답 생성을 위해 앱의 Core Spotlight 콘텐츠를 직접 검색할 수 있게 하며, iOS, iPadOS, macOS, visionOS에서 사용할 수 있습니다2. 전제 조건은 이미 해 두었을 작업, 즉 Core Spotlight로 검색 가능한 콘텐츠를 기증해 두는 것입니다. 이는 Apple의 이전 세션 “Supporting semantic search with Core Spotlight”의 주제였습니다24. 항목을 기증한 뒤에는 CoreSpotlight와 FoundationModels를 임포트합니다. Apple에 따르면 이 도구는 한 줄의 코드로 인덱스를 검색할 준비가 됩니다. 모델은 SystemLanguageModel을 쓰거나 새로운 Model Provider API가 제공하는 모델을 고른 다음, SpotlightSearchTool 인스턴스를 세션에 추가합니다2.
import CoreSpotlight
import FoundationModels
// Apple: "in one line of code, the tool is ready to search
// your app's Core Spotlight index."
let session = LanguageModelSession(tools: [SpotlightSearchTool()])
let response = try await session.respond(to: "What hikes have I gone on?")
쿼리가 아니라 궤적
주목할 만한 세부 사항은 검색을 작성하는 주체가 누구인가입니다. 여러분이 아닙니다. Apple은 “What hikes have I gone on?” 같은 질문의 궤적을 이렇게 설명합니다. 모델이 SpotlightSearchTool이 필요하다고 판단하고, 스스로 쿼리를 생성하고, Spotlight가 그 쿼리를 실행해 결과 집합의 설명을 반환하면, 모델이 그 출력을 추론해 최종 응답을 생성하는 흐름입니다2. 세션을 마무리하는 한 문장은 이 변화를 분명히 말합니다. 개발자는 더 이상 검색 쿼리를 작성하지 않습니다. 콘텐츠를 제공하고 나머지는 지능에 맡깁니다2.
한 가지 한계가 일찌감치 드러나는데, Apple은 이에 대해 솔직합니다. 텍스트 콘텐츠와 HTML 같은 Spotlight 인덱스의 일부 메타데이터는 검색은 되지만 언어 모델이 읽을 수 있는 형태로는 복원할 수 없는, 매우 압축된 표현으로 저장됩니다2. 모델은 올바른 항목을 찾아내지만, 그 항목에 기증된 모든 것을 읽을 수 있는 것은 아닙니다. 해결책은 재색인 요청을 처리하기 위해 이미 구현해 둔 인덱스 델리게이트에 있습니다. Apple은 고유 식별자로 전체 CSSearchableItem을 복원하는 메서드를 추가했고, 덕분에 모델은 전부 로드하지 않고도 잠재적으로 수백만 건에 이르는 결과에 대해 응답을 관리할 수 있습니다2.
// On your CSSearchableIndex delegate.
func searchableItems(
forIdentifiers identifiers: [String]
) async -> [CSSearchableItem] {
// Return the complete item for each id. The callback is also the
// place to attach metadata you would not donate for search but
// want the model to reason over.
identifiers.compactMap { fullItem(for: $0) }
}
Apple은 두 번째 요점을 분명히 밝힙니다. 검색용으로 기증할 이유는 없지만 모델의 추론에 도움이 될 메타데이터를 앱이 가지고 있다면, 이 델리게이트 콜백이야말로 그 추가 속성을 항목에 설정해 모델이 보게 만들 자리입니다2.
결과 표시
Apple은 두 가지 표시 모드 사이에 분명한 선을 긋습니다. 세션 응답은 결과 집합에 대한 간결한 설명으로, 어시스턴트 형태의 인터페이스가 보여 주고자 하는 것입니다. 목록 형태의 표시에는 결과 자체를 SpotlightSearchTool에서 직접 얻을 수 있는데, Apple은 결과 집합이 클 때 검색 가능한 항목에 접근하는 최선의 방법이라고 부릅니다2. 검색 응답은 비동기 시퀀스로 도착하며, 도구 호출이 완료될 때까지 각각이 결과 배치를 담을 수 있습니다. 모델은 최종 답에 이르기까지 도구를 여러 번 호출할 수 있으므로, Apple은 각 응답의 queryToken을 사용해 UI를 언제 새로 고칠지 판단하라고 권합니다2.
선택한 모델에 맞춘 커스터마이징
SpotlightSearchTool은 텍스트에 대한 시맨틱 검색부터 날짜·인물·장소에 대한 구조화 검색까지 폭넓은 역량을 갖추고 있습니다2. Apple은 그 표면을 실행하는 모델에 맞추기 위한 세 가지 레버를 제시합니다. 첫 번째는 가이던스 프로파일입니다. 작은 모델에 도구의 전체 역량을 건네면 갖고 있지도 않은 컨텍스트를 소진하므로, GuidanceProfile은 가이던스를 앱이 필요로 하는 것만으로 좁힙니다. 모델이 고려해야 할 메타데이터 속성의 정확한 목록까지 좁힐 수 있으며, 도구를 만들 때 동적 가이드 수준을 설정합니다2. 더 제한된 컨텍스트 크기를 지닌 온디바이스 모델에 대한 Apple의 조언은, 더 단순한 검색 역량을 향한 집중된 가이던스입니다2.
두 번째 레버는 참조 해소입니다. 앱이 인물 관계를 기증하고 사용자가 트레일 위의 다른 사람들에 대해 물으면, 모델은 “그 사람”이 누구를 가리키는지 알아야 합니다. Apple의 답은 사용자의 신원과 관련된 연락처 정보를 반환하는 연락처 리졸버이며, 도구는 이를 인덱스 내 메타데이터와 대조합니다2.
세 번째 레버는 검색을 연산으로 바꾸는 것입니다. “올해 트레일을 몇 개나 걸었고, 각 월마다 평균 몇 마일인가?” 같은 복잡한 요청에 대해, Apple에 따르면 모델은 단순한 쿼리를 포기하고 인덱스 쿼리와 결과 집합에 대한 연산을 한데 묶은 파이프라인 검색을 택할 수 있습니다2. 모델은 질문을 여러 스테이지로 나눕니다. 완료된 하이킹을 찾는 검색, 월별 표를 구성하는 집계 스테이지, 그리고 그 개수에 대해 평균을 계산하는 스테이지입니다2. 파이프라인 스테이지는 Generable이므로, 모델은 프롬프트로부터 필요에 따라 스테이지를 생성하고, 앱은 자체 커스텀 스테이지를 등록할 수 있습니다2. Apple의 예시는 각 항목의 메모로부터 계산되는 행복 점수로, 감정 분석이나 별 다섯 개 평점으로 산출될 수 있으며, Guide 프로퍼티가 어떤 결과를 선호해야 할지 모델에게 알려 줍니다2.
// Apple's example: a Generable pipeline stage that scores items so the
// model reasons over the top-scoring results, not the raw set.
@Generable
struct HappinessScoredTrail {
let item: CSSearchableItem
@Guide(description: "Prefer higher scores; 5-star hikes rank highest.")
let happinessScore: Double
}
// Register the stage on the tool's configuration.
Apple은 이 절을 구현이 아니라 검증으로 마무리하며 Evaluations 프레임워크를 가리킵니다. 모델이 도구를 얼마나 잘 호출하고 그 응답이 얼마나 의미 있는지를 측정하는 것으로, 하이킹 앱의 예시에서는 결과 커버리지를 지표로 듭니다2. 그 평가 루프는 그 자체로 하나의 주제이며, Apple Evaluations 프레임워크 글에서 다룹니다.
온디바이스에서 생성되는 자막
미디어 표면은 같은 원칙을 다른 각도에서 보여 줍니다. Apple AI 생성 자막은 미디어가 재생되는 동안 기기에서 실시간으로, 로컬에서 만들어집니다3. 세션 256에서의 위치 설정은 접근성을 우선합니다. 자막은 청각 장애가 있거나 잘 듣지 못하는 사람에게, 말하는 대사를 따라가는 사람에게, 그리고 그 순간 오디오를 들을 수 없는 누구에게나 중요합니다. 콘텐츠가 시청자가 이해하는 언어 없이 배포되었을 때, 기기가 그 빈틈을 메울 수 있습니다3.
Apple은 두 가지 경로를 설명합니다. 첫 번째는 음성 받아쓰기입니다. 원본 오디오가 온디바이스 음성-텍스트 모델로 들어가고 자막이 나옵니다3. 두 번째는 언어 번역입니다. 기존 자막(Apple의 예시에서는 영어)이 온디바이스 번역 모델로 들어가 이탈리아어 같은 다른 언어의 자막을 만들어 냅니다3. 콘텐츠 제작자가 손으로 직접 작성한 제작 자막은 그대로 선호되고 변경되지 않습니다. 생성 자막은 언어만 더할 뿐입니다3. 이 동일한 온디바이스 번역 역량은 Translation 프레임워크를 통해 개발자에게 직접 제공됩니다.
도입에서 중요한 부분은, 이 기능을 켜기 위해 아무것도 구현하지 않는다는 점입니다. Apple은 생성 자막이 영상 재생 중에 자동으로 사용 가능하다고 밝힙니다3. 라이브 TV 채널을 포함한 HTTP 라이브 스트리밍, 비디오 온디맨드, 스포츠 같은 라이브 이벤트, 그리고 앱 번들이나 다운로드된 미디어 같은 파일 기반 콘텐츠를 다룹니다3. 전문 콘텐츠와 사용자가 만든 콘텐츠(iPhone 카메라 촬영, 소셜 영상) 모두 해당됩니다3.
출시 매트릭스는 좁으므로 정확히 읽을 가치가 있습니다. iOS와 macOS 27부터 영어 오디오로부터 영어 자막을 생성할 수 있으며, 이는 tvOS와 visionOS 27에서도 지원됩니다3. 그 위에 더해, iOS와 macOS에서는 영어 자막으로부터 여러 자막 언어를 생성할 수 있습니다3. 즉 받아쓰기는 처음에 네 개 플랫폼에서 영어-영어이고, 번역은 가장 큰 두 플랫폼에서 영어로부터 퍼져 나갑니다.
여러분의 일이 실제로 있는 곳
생성 자막은 활성화에 비용이 들지 않으므로, 여러분의 노력은 선택 UI로 향합니다. Apple의 지침은 직접적입니다. 재생 중에 자막 선택 UI를 제공하세요3. Apple이 얼마나 많이 떠맡아 주는지에 따라 내림차순으로 세 가지 선택지가 있습니다.
- iOS의
AVPlayerViewController(그리고 macOS의AVPlayerView)는 자막 선택과 플레이어 컨트롤을 완전히 구현합니다. 추가로 할 일이 없습니다3. AVLegibleMediaOptionsMenuController는 플레이어 컨트롤 없이 선택 컨트롤과 동작을 제공하는데, 이미 플레이어 UI가 있고 메뉴만 필요할 때 알맞습니다3.- 미디어 선택용 커스텀 컨트롤은 메뉴를 앱의 나머지와 어울리게 하고 싶을 때 사용합니다3.
Apple의 데모에서는 생성된 옵션에 반짝임 기호와 “Translated”라는 단어가 붙어, 사용자가 제작 트랙과 구별할 수 있습니다3.
스타일 미리보기
이 세션의 두 번째 기능은 표현입니다. 설정 앱에서는 수년 동안 캡션 스타일을 고르고 만들 수 있었지만, Apple의 요점은 영상 중간에 실시간 미리보기와 함께 스타일을 바꾸는 편이 재생을 떠나 설정을 뒤지는 것보다 더 쉽고 더 접근성이 좋다는 것입니다3. 사용자가 설정에서 정의한 것과 같은 스타일이, 커스텀한 것까지 포함해, 이제 각각의 미리보기와 함께 플레이어의 스타일 메뉴에 나타납니다3.
AVPlayerViewController는 스타일 미리보기와 플레이어 컨트롤을 그대로 구현합니다3. 커스텀 플레이어를 위해서는 AVPlayerLayer가 스타일 미리보기 API를 노출하고, 렌더링을 직접 떠맡는다면 AVCaptionRenderer가 미리보기를 제공할 수 있습니다3. Apple의 AVPlayerLayer 흐름은 이렇습니다. 각 시스템 스타일은 프로파일 ID를 지니므로, 프로파일 ID로 모든 스타일을 가져오고 그 이름으로 UI를 채운 뒤, 사용자가 하나를 선택하면 미리보기 함수를 호출합니다. 선택한 스타일로 새 자막이 표시되며, 그동안 기존 자막은 간섭하지 않도록 자동으로 숨겨집니다. 텍스트 매개변수에 nil을 전달하면 현지화된 시스템 텍스트가 표시되고, 위치 매개변수는 컨트롤을 비키도록 미리보기를 옮깁니다. 새 스타일마다 이 함수를 다시 호출하고, 선택이 끝나면 미리보기를 멈추며(그러면 활성 자막이 복원됩니다), 선택한 스타일을 시스템상의 모든 자막에 설정합니다3.
도입하는 방법
Spotlight 검색의 경우:
- 먼저 콘텐츠를 Core Spotlight에 기증하세요. 도구는 인덱스를 검색하므로, 기증이 없으면 검색할 것도 없습니다24.
SpotlightSearchTool()을LanguageModelSession에 연결하고 모델을 고르세요.SystemLanguageModel또는 Model Provider API의 모델입니다2.- 인덱스 델리게이트에
searchableItems(forIdentifiers:)를 구현해 전체 항목을 반환하고, 압축된 인덱스가 복원할 수 없는 모델 전용 메타데이터를 붙이세요2. - 어시스턴트 뷰에는 세션 응답을 보여 주고, 목록 뷰에는 도구에서
CSSearchableItem결과를 읽어 각 응답의queryToken마다 새로 고치세요2. - 온디바이스 모델을 실행한다면
GuidanceProfile로 역량 범위를 좁히고, 요청이 큰 집합에 대한 집계나 점수 계산을 필요로 할 때만 파이프라인 스테이지에 손을 뻗으세요2.
생성 자막의 경우:
- 이 기능을 켜는 것은 아무것도 없습니다. 재생 중에 자동으로 작동합니다3.
- 플레이어가
AVPlayerViewController,AVLegibleMediaOptionsMenuController, 또는 자체 컨트롤을 통해 자막 선택 UI를 노출하는지 확인하세요3. AVPlayerViewController로 스타일 미리보기를 별도 작업 없이 추가하거나,AVPlayerLayer의 미리보기 API를 커스텀 플레이어에 연결하세요3.- 언어를 약속하기 전에 지원 매트릭스를 읽으세요. 네 개 플랫폼에서의 영어-영어 받아쓰기, iOS와 macOS에서의 영어 원본 번역입니다3.
FAQ
iOS 27의 SpotlightSearchTool은 무엇인가요?
이는 Foundation Models의 도구로, Tool 프로토콜을 채택해 언어 모델이 앱의 Core Spotlight 인덱스를 직접 검색하고 그 결과를 응답 생성에 사용할 수 있게 합니다. Apple은 이를 iOS, iPadOS, macOS, visionOS에서 제공합니다. SpotlightSearchTool 인스턴스를 LanguageModelSession에 연결하면, 여러분이 작성하는 대신 모델이 직접 검색 쿼리를 생성합니다2.
검색 쿼리를 제가 작성해야 하나요?
아니요. Apple의 설명은 개발자가 더 이상 검색 쿼리를 작성하지 않는다는 것입니다. 콘텐츠를 제공하면 나머지는 모델이 합니다. 모델이 도구가 필요하다고 판단하고, 쿼리를 생성하고, Spotlight가 이를 실행해 결과 집합의 설명을 반환하면, 모델이 그 출력을 추론해 답을 만들어 냅니다2.
모델은 왜 제가 기증한 메타데이터를 전부 볼 수 없나요?
텍스트 콘텐츠와 HTML 같은 일부 Spotlight 메타데이터는 검색은 되지만 읽을 수 있는 형태로는 복원할 수 없는, 매우 압축된 형태로 저장됩니다. 모델에 전체 그림을 주려면, 인덱스 델리게이트에 searchableItems(forIdentifiers:)를 구현해 전체 CSSearchableItem을 반환하고, 그 콜백을 사용해 모델 전용 추가 속성을 붙이세요2.
생성 자막을 얻으려면 무언가 구현해야 하나요?
아니요. Apple은 생성 자막이 영상 재생 중에 자동으로 사용 가능하며, 기기에서 실시간으로 로컬에서 만들어진다고 밝힙니다. 여러분의 일은 선택 UI와, 선택적으로 플레이어 내 스타일 미리보기이지 추론이 아닙니다3.
생성 자막은 출시 시 어떤 언어를 지원하나요?
iOS와 macOS 27부터 영어 오디오로부터 영어 자막을 생성할 수 있으며, tvOS와 visionOS 27에서도 마찬가지입니다. 이와 별개로, iOS와 macOS에서는 영어 자막으로부터 여러 자막 언어를 생성할 수 있습니다. 즉 받아쓰기는 네 개 플랫폼에서 영어-영어이고, 번역은 iOS와 macOS에서 영어로부터 퍼져 나갑니다3.
생성 자막과 Spotlight 검색은 비공개인가요?
둘 다 기기에서 작동합니다. 생성 자막은 미디어가 재생되는 동안 실시간으로 로컬에서 만들어지고3, SpotlightSearchTool은 온디바이스 모델을 통해 앱의 로컬 Core Spotlight 인덱스를 질의합니다12. Apple이 시스템 구현을 공급함으로써 바뀌는 것은 누가 그것을 유지보수하는가이지, 어디에서 작동하는가가 아닙니다.
Apple Ecosystem 클러스터 전체는 이렇습니다. SpotlightSearchTool이 채택하는 Tool 프로토콜과 Foundation Models 온디바이스 LLM, 이런 도구를 모델이 얼마나 적극적으로 호출하는지를 다스리는 iOS 27 도구 호출 제어, 백그라운드 실행·동기화·Spotlight를 위한 나란한 iOS 27의 App Intents 표면, 그리고 시스템 모델 아래 계층을 담당하는 Core AI: Apple Silicon에서 모델 실행하기입니다. 허브는 Apple Ecosystem 시리즈에 있습니다. AI 에이전트를 곁들인 iOS의 더 넓은 맥락은 iOS 에이전트 개발 가이드를 참고하세요.
-
Apple Developer, “Foundation Models” framework overview and “Tool” protocol. The iOS 26 framework introduced the on-device model,
LanguageModelSession, guided generation via@Generable, and theToolprotocol that lets the model invoke app code mid-generation. ↩↩↩ -
Apple, WWDC26 session 246, “LLM search using Core Spotlight.” developer.apple.com/videos/play/wwdc2026/246. Apple introduces
SpotlightSearchTool, a tool adopting the Foundation ModelsToolprotocol that lets a language model search an app’s Core Spotlight index directly for contextual response generation, available on iOS, iPadOS, macOS, and visionOS. The session covers the configure/attach flow, the tool-calling trajectory, thesearchableItems(forIdentifiers:)index-delegate method for recovering fullCSSearchableIteminstances, search-reply batches withqueryToken, guidance profiles, contact-resolver reference resolution, Generable pipeline stages for computation over result sets, and evaluation via the Evaluations framework with result coverage as a metric. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC26 session 256, “Discover generated subtitles and subtitle styles.” developer.apple.com/videos/play/wwdc2026/256. Apple describes AI-generated subtitles created live and locally on device during playback, via two paths (on-device speech-to-text transcription and on-device translation from existing subtitles), available automatically with no app code. The session states the launch matrix (English-from-English transcription on iOS, macOS, tvOS, and visionOS 27; translation from English subtitles on iOS and macOS), the selection-UI options (
AVPlayerViewController,AVPlayerView,AVLegibleMediaOptionsMenuController, custom controls), and the subtitle style preview viaAVPlayerViewController,AVPlayerLayer, andAVCaptionRendererusing per-style profile IDs. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple Developer, “Core Spotlight” framework and the
CSSearchableItemandCSSearchableIndexAPIs for donating searchable content. Session 246 names the prior “Supporting semantic search with Core Spotlight” session as the prerequisite for donating content, managing donations with a delegate and reindex extension, and performing structured and semantic search. ↩↩