サポート問い合わせ先| システムステータス
ページコンテンツ

    iOS用ネイティブSDKでのエラー処理

    このトピックでは、iOS 用の Brightcove Native SDK が再生エラーを処理する方法を学習します。

    概要

    エラーコードの名前には ErrorCode が含まれます。例:

    kBCOVPlaybackSessionErrorCodeLoadFailed

    イベントの名前には Event が含まれます。例:

    kBCOVPlaybackSessionLifecycleEventFail

    再生エラー

    再生エラーはイベントを通じて処理されます。通常、BCOVPlaybackController のライフサイクルイベントのデリゲートコールバックで受け取ります:

    - (void)playbackController:(id<BCOVPlaybackController>)controller
              playbackSession:(id<BCOVPlaybackSession>)session
     didReceiveLifecycleEvent:(BCOVPlaybackSessionLifecycleEvent *)lifecycleEvent;

    詳細情報を取得するには、次の操作を行います。

    1. kBCOVPlaybackSessionLifecycleEventFail、kBCOVPlaybackSessionLifecycleEventError、kBCOVPlaybackSessionLifecycleEventFailedToPlayToEndTime などのエラーイベントを受け取ったら、イベントの properties 辞書の kBCOVPlaybackSessionEventKeyError(@"error")キーを確認します。kBCOVPlaybackSessionLifecycleEventResumeFail にはエラーが含まれません。

      問題の情報を持つ NSError オブジェクトを取得できます。

    2. 各 NSError には、次のようなエラードメインがあります。

      • NSCocoaErrorDomain
      • kBCOVPlaybackSessionErrorDomain

      各エラードメインには、次のようなエラーコードと説明が関連付けられています。

      • kBCOVPlaybackSessionErrorCodeLoadFailed
      • kBCOVPlaybackSessionErrorCodeNoPlayableSource
    3. 一部のエラーには、原因となったエラーも含まれます。エラーの userInfo 辞書から NSUnderlyingErrorKey キーで取得できます。通常は、詳細情報を持つシステムの NSError です。

    4. SDK のすべてのエラードメインを調べるには、ヘッダーファイルで次を検索します。

      ErrorDomain

      ErrorDomain を参照するヘッダー:

      • BrightcovePlayerSDK-Swift.h(FairPlay、オフライン動画マネージャー、Playback Service の API)
      • BCOVPlaybackSessionConstants.h(再生セッションのイベントとエラー)
    5. すべてのエラーコードを調べるには、各 ErrorDomain で次を検索します。

      ErrorCode

      たとえば、BCOVPlaybackSessionConstants.h の kBCOVPlaybackSessionErrorDomain には、次のエラーコードがあります。

      • kBCOVPlaybackSessionErrorCodeLoadFailed
      • kBCOVPlaybackSessionErrorCodeFailedToPlayToEnd
      • kBCOVPlaybackSessionErrorCodeNoPlayableSource
    6. 他のドメインでは、エラーの返し方が異なる場合があります。たとえば、BCOVPlaybackService は、オンラインカタログへの動画リクエストでネットワークエラーが発生すると、完了ブロックにエラーを返します。エラードメインは BCOVPlaybackService.ErrorDomain です。

    再生エラーの一覧

    以下は、iOS 用 Native SDK で発生する可能性のある再生エラーです。基盤となるフレームワークからエラーが渡されることもあります。

    iOS の再生エラー
    ヘッダーエラー説明
    BrightcovePlayerSDK-Swift.hBCOVFPSConstants.ErrorDomainFairPlay 関連のエラードメイン。
    BCOVFPSErrorCodeStreamingContentKeyRequestコンテンツキーのリクエストでエラーが発生しました。
    BCOVFPSErrorCodeApplicationCertificateRequestアプリケーション証明書のリクエストでエラーが発生しました。
    BrightcovePlayerSDK-Swift.hBCOVFPSBrightcoveAuthProxy.ErrorDomainFairPlay Auth Proxy 関連のエラードメイン。
    BCOVFPSAuthProxyErrorCodeApplicationCertificateRequestFailedアプリケーション証明書のリクエストが失敗しました。
    BCOVFPSAuthProxyErrorCodeContentKeyRequestFailedキーのリクエストが失敗しました。
    BCOVFPSAuthProxyErrorCodeContentKeyGenerationFailedキーリクエストの生成が失敗しました。
    BrightcovePlayerSDK-Swift.hBCOVPlaybackServiceErrorCodeNoErrorエラーはありません。
    BCOVPlaybackServiceErrorCodeConnectionErrorPlayback API への接続でエラーが発生しました。実際の接続エラーは error.userInfo[NSUnderlyingErrorKey] で確認します。
    BCOVPlaybackServiceErrorCodeJSONDeserializationErrorレスポンスの JSON 解析でエラーが発生しました。受信データがある場合、元の NSData は BCOVPlaybackService.ErrorKeyRawResponseData キーで userInfo に格納されます。JSON 解析エラーの詳細は error.userInfo[NSUnderlyingErrorKey] で確認します。
    BCOVPlaybackServiceErrorCodeAPIErrorAPI がエラーを返しました。返されたエラーの NSArray は error.userInfo[BCOVPlaybackService.ErrorKeyAPIErrors]、HTTP ステータスコードは BCOVPlaybackService.ErrorKeyAPIHTTPStatusCode キーで確認します。
    BCOVPlaybackService.ErrorDomainBCOVPlaybackService のエラードメイン。
    BCOVPlaybackService.ErrorKeyRawResponseDataドメインが BCOVPlaybackService.ErrorDomain、コードが BCOVPlaybackServiceErrorCodeJSONDeserializationError の NSError.userInfo キーです。元のレスポンスデータを取得できますが、格納されない場合もあります。
    BCOVPlaybackService.ErrorKeyAPIErrorsドメインが BCOVPlaybackService.ErrorDomain、コードが BCOVPlaybackServiceErrorCodeAPIError の NSError.userInfo キーです。Playback API が返したエラーの NSArray を取得します。
    BCOVPlaybackService.ErrorKeyAPIHTTPStatusCodeドメインが BCOVPlaybackService.ErrorDomain、コードが BCOVPlaybackServiceErrorCodeAPIError の NSError.userInfo キーです。API リクエストの HTTP ステータスコードを取得します。
    BCOVPlaybackSessionConstants.hkBCOVPlaybackSessionLifecycleEventFail動画の読み込みに失敗しました。原因となったエラーは、イベントの properties の kBCOVPlaybackSessionEventKeyError キーで取得できます。
    kBCOVPlaybackSessionLifecycleEventFailedToPlayToEndTimeネットワークエラーなどにより再生中に障害が発生し、復旧できませんでした。AVFoundation がエラーを報告した場合、原因となったエラーはイベントの properties の kBCOVPlaybackSessionEventKeyError キーで取得できます。ネットワーク復旧後、[BCOVPlaybackController resumeVideoAtTime:withAutoPlay:] で復旧できる場合があります。
    kBCOVPlaybackSessionLifecycleEventResumeFailresumeVideoAtTime:withAutoPlay: の呼び出し後、動画を再読み込みできませんでした。このイベントにはエラーが含まれません。
    kBCOVPlaybackSessionLifecycleEventError一般的なエラーが発生しました。たとえば、モバイルデータ通信での再生が許可されていない場合、FairPlay のエラー、ジェネリック ストリーム同時視聴制限のエラーなどです。原因となったエラーが、イベントの properties の kBCOVPlaybackSessionEventKeyError キーに含まれる場合があります。
    kBCOVPlaybackSessionLifecycleEventThumbnailAssetFailedToLoadシーク用サムネイルアセットの読み込みに失敗しました。原因となったエラーが、イベントの properties の kBCOVPlaybackSessionEventKeyError キーに含まれる場合があります。
    kBCOVPlaybackSessionEventKeyErrorイベントの properties に含まれるエラーのキー。
    kBCOVPlaybackSessionErrorDomainSDK のエラードメイン。
    kBCOVPlaybackSessionErrorCodeLoadFailed動画の読み込みに失敗しました。
    kBCOVPlaybackSessionErrorCodeFailedToPlayToEndネットワークエラーなどにより再生中に障害が発生し、復旧できませんでした。
    kBCOVPlaybackSessionErrorCodeNoPlayableSourceこの動画に再生可能なソースがありません。
    kBCOVPlaybackSessionErrorCodeWifiUnavailableWi-Fi ネットワークが利用できず、allowsCellularPlayback が無効になっています。

    ページの最終更新日20 Oct 2026