iOS용 네이티브 SDK를 사용한 오류 처리

이 주제에서는 iOS 용 Brightcove Native SDK가 재생 오류를 처리하는 방법을 알아 봅니다.

개요

오류 코드의 이름에는 해당 용어가ErrorCode있습니다. 예:

	kBCOVPlaybackSessionErrorCodeLoadFailed

이벤트Event이름에는 단어가 있습니다. 예:

	kBCOVPlaybackSessionLifecycleEventFail

재생 오류

재생 오류는 이벤트를 통해 처리됩니다. 일반적으로 다음과 같은 곳에서 라이프사이클 이벤트 델리게이트 콜백을 사용하면 재생 오류가 발생합니다BCOVPlaybackController .

	- (void)playbackSession:(id<BCOVPlaybackSession>)session
	didReceiveLifecycleEvent:(BCOVPlaybackSessionLifecycleEvent *)lifecycleEvent

추가 정보를 얻으려면 다음을 수행하십시오.

  1. kBCOVPlaybackSessionLifecycleEventFail또는kBCOVPlaybackSessionLifecycleEventResumeFail와 같은 오류 이벤트가 발생하면 이벤트properties사전에서@"error"키를 확인하세요.

    그러면NSError객체에 문제에 대한 정보가 제공됩니다.

  2. 각 도메인은 다음과 같은 오류 도메인을NSError가집니다.

    • NSCocoaErrorDomain
    • kBCOVPlaybackSessionErrorDomain
     

    각 오류 도메인에는 다음과 같은 관련 오류 코드 및 오류 설명이 있습니다.

    • kBCOVPlaybackSessionErrorCodeLoadFailed
    • kBCOVPlaybackSessionErrorCodeNoPlayableSource
  3. 일부 오류에는 오류 개체의userInfo와 사전NSUnderlyingErrorKey열쇠. 이 시스템은 일반적으로 추가 정보를 제공할 수NSError있는 시스템입니다.

  4. SDK에서 모든 오류 도메인을 찾으려면 헤더에서 다음을 검색하십시오.

    	ErrorDomain

    ErrorDomain참조가 있는 헤더 목록은 다음과 같습니다.

    • BCOVFPSAuthorizationProxy.h
    • BCOVFPSBrightcoveAuthProxy.h
    • BCOVOfflineVideoManager.h
    • BCOVPlaybackService.h
    • BCOVPlaybackSession.h
  5. 모든 오류 코드를 찾으려면 각 오류 코드를ErrorDomain검색해 보십시오.

    	ErrorCode

    예를 들어BCOVPlaybackSession.h에서는 다음과 같은 오류 코드를 볼kBCOVPlaybackSessionErrorDomain수 있습니다.

    • kBCOVPlaybackSessionErrorCodeLoadFailed
    • kBCOVPlaybackSessionErrorCodeFailedToPlayToEnd
    • kBCOVPlaybackSessionErrorCodeNoPlayableSource
  6. 다른 도메인은 오류를 다르게 반환 할 수 있습니다. 예를 들어, 온라인 카탈로그에서 비디오를 요청할 때 네트워크 오류가 있는 경우BCOVPlaybackService객체는 완료 블록에 오류를 반환합니다. 오류 도메인을 사용합니다kBCOVPlaybackServiceErrorDomain .

재생 오류 표

다음은 iOS용 Native SDK에서 발생할 수 있는 재생 오류 목록입니다. 오류는 기본 프레임워크에서 전달될 수도 있습니다.

iOS 재생 오류
머리글 오류 설명
BCOVFPSAuthorizationProxy.h kBCOVFPS오류도메인 FairPlay 관련 오류에 대한 오류 도메인
kBCOVFPSErrorCodeStreamingContentKeyRequest 콘텐츠 키를 요청하는 중에 오류가 발생했습니다.
kBCOVFPSErrorCodeApplicationCertificateRequest 응용 프로그램 인증서를 요청하는 중 오류가 발생했습니다.
BCOVFPSBrightcoveAuthProxy.h kBCOVFPSAuthProxyErrorDomain FairPlay 인증 프록시 관련 오류에 대한 오류 도메인입니다.
kBCOVFPSAuthProxyErrorCodeApplicationCertificateRequestFailed 애플리케이션 인증서 요청 실패
kBCOVFPSAuthProxyErrorCodeContentKeyRequestFailed 키 요청 실패
kBCOVFPSAuthProxyErrorCodeContentKeyGenerationFailed 키 요청 생성 실패
BCOVPlaybackService.h BCOVPlaybackServiceErrorNoError 오류가 없습니다.
BCOVPlaybackServiceErrorCodeConnectionError Playback API에 연결하는 동안 오류가 발생했음을 나타내는 오류 코드입니다. 실제 연결 오류는 error.userInfoNSUnderlyingErrorKey를 확인하십시오.
BCOVPlaybackServiceErrorCodeJSONDeserializationError 응답을 JSON으로 구문 분석하는 중 오류가 발생했음을 나타내는 오류 코드입니다. 요청이 데이터를 반환한 경우 해당 원시 NSData는 kBCOVPlaybackServiceErrorKeyRawResponseData 키에 의해 userInfo에 포함됩니다. 실제 JSON 역직렬화 오류에 대한 error.userInfoNSUnderlyingErrorKey를 확인하십시오.
BCOVPlaybackServiceErrorCodeAPIError API에서 반환된 오류가 있음을 나타내는 오류 코드입니다. API에서 반환된 오류의 NSArray에 대해 error.userInfo 키 kBCOVPlaybackServiceErrorKeyAPIErrors를 확인하고 반환된 상태 코드를 찾으려면 kBCOVPlaybackServiceErrorKeyAPIHTTPStatusCode 키를 확인합니다.
kBCOVPlaybackServiceError도메인 BCOVPlaybackService 에 대한 오류 도메인입니다.
kBCOVPlaybackServiceErrorKeyRawResponseData 도메인 kBCOVPlaybackServiceErrorDomain 및 errorCode BCOVPlaybackServiceErrorCodeJSONDeserializationError 오류에 대한 NSError.userInfo 의 키입니다. 이것은 원시 응답 데이터입니다. 이것은 error.userInfo 에 존재하지 않을 수 있습니다.
kBCOVPlaybackServiceErrorKeyAPIErrors 도메인 kBCOVPlaybackServiceErrorDomain 및 errorCode BCOVPlaybackServiceErrorCodeAPIError 오류에 대한 NSError.userInfo 의 키입니다. 이것은 Playback API에서 반환된 오류의 NSArray입니다.
kBCOVPlaybackServiceErrorKeyAPIHTTPStatusCode 도메인 kBCOVPlaybackServiceErrorDomain 및 errorCode BCOVPlaybackServiceErrorCodeAPIError 오류에 대한 NSError.userInfo 의 키입니다. 이것은 API 요청에 의해 반환된 HTTP 상태 코드입니다.
BCOVPlaybackSession.h KBCOV 재생 세션 이벤트 키 오류 동영상을 로드하지 못했습니다. 이벤트 속성에는 기본 오류가 포함됩니다.
KBCOV 재생 세션 수명 주기 이벤트가 종료 시간까지 재생되지 못했습니다.

비디오 재생 중에 오류가 발생했으며 네트워크 오류로 인해 복구할 수 없습니다. 이벤트 속성에는 kBCOVPlaybackSessionEventKeyError 로 키가 지정된 기본 오류가 포함됩니다.

네트워크가 복구되면 [BCOVPlaybackController resumeAttime:withAutoplay:]메서드를 사용하여 이 오류를 복구할 수 있습니다.

KBCOV 재생 세션 이벤트 키 오류 일반 오류가 발생했습니다. 이벤트 속성에는 기본
kBCOVPlaybackSessionLifecycleEventThumbnailAssetFailedToLoad 썸네일 검색 자산을 로드하지 못했습니다. 이벤트 속성에는 kBCOVPlaybackSessionEventKeyError 로 키가 지정된 기본 오류가 포함될 수 있습니다.
KBCOV 재생 세션 이벤트 키 오류 이벤트 속성의 오류에 대한 키입니다.
KBCOV 재생 세션 오류 도메인 SDK의 오류 도메인입니다.
KBCOV 재생 세션 오류 코드 로드 실패 동영상을 로드하지 못했습니다.
KBCOV 재생 세션 오류 코드를 끝까지 재생하지 못했습니다. 비디오 재생 중에 오류가 발생했으며 네트워크 오류로 인해 복구할 수 없습니다.
KBCOV 재생 세션 오류 코드가 재생 가능한 소스가 없습니다. 이 비디오에 사용할 수 있는 재생 가능한 소스가 없습니다.
kBCOVPlaybackSessionErrorCodeWifi사용 불가 사용 가능한 WiFi 네트워크가 없으며, allowCellularPlayback이 비활성화되었습니다.