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 접근성 자막 설정을 따릅니다.

요구사항

항목버전 / 값
iOS16 이상
Swift5.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)
    }
}
iOS SDKBeta