VPEPlayer iOS SDK 소개

VPEPlayer iOS SDK는 네이버클라우드 VPE(Video Player Enhancement)의 iOS 네이티브 플레이어입니다. SwiftUI + AVFoundation 기반이며, 웹 @sgrsoft/vpe-react-sdk 와 동일한 옵션 스키마를 따라 한 번 정의한 재생 옵션을 웹·iOS 양쪽에서 그대로 사용할 수 있습니다.
iOS 재생 제약 — iOS는 HLS(.m3u8) · MP4 · FairPlay(HLS) DRM 만 재생합니다. DASH(.mpd) 는 재생할 수 없으며 시도 시
E0010 에러 오버레이가 표시됩니다.절대 규칙
- 1.모듈명은
VPEPlayer— 항상import VPEPlayer. - 2.공개 진입점은 두 가지 — ① SwiftUI 컴포넌트
VpePlayer(간편), ② 컨트롤러VPEPlayerController+ 뷰VPEPlayerView(외부 제어). - 3.
accessKey(라이선스 키) 필수 — 미결제/무효 키는 재생이 차단됩니다(E0001). - 4.옵션은 Swift 딕셔너리
[String: Any]또는 옵션 JSON 문자열(웹 스키마, 느슨한 문법 허용)로 전달 — 두 방식 결과는 동일합니다. - 5.FairPlay DRM은 실기기에서만 복호화됩니다(시뮬레이터 불가).
captionStyle옵션은 무시되며 자막 스타일은 iOS 접근성 자막 설정을 따릅니다.
요구사항
| 항목 | 버전 / 값 |
|---|---|
| iOS | 16 이상 |
| Swift | 5.9 이상 |
| 프레임워크 | SwiftUI · AVFoundation |
| 배포 형식 | 바이너리 XCFramework (Swift Package Manager) |
지원 포맷
| 포맷 | 지원 여부 |
|---|---|
| HLS (.m3u8) | 지원 |
| MP4 | 지원 |
| FairPlay DRM (HLS) | 지원 (실기기 전용) |
| DASH (.mpd) | 미지원 (E0010) |
최소 동작 예제
SPM 으로 패키지를 추가한 뒤 SwiftUI 뷰에서 바로 사용할 수 있습니다.
ContentView.swift
import SwiftUI
import VPEPlayer
struct ContentView: View {
var body: some View {
VpePlayer(
accessKey: "YOUR_ACCESS_KEY",
options: [
"autostart": true, "muted": true, "aspectRatio": "16:9",
"playlist": [["file": "https://.../master.m3u8",
"description": ["title": "VPE Demo"]]]
]
)
.aspectRatio(16.0 / 9.0, contentMode: .fit)
}
}