Fehlerbehandlung mit dem Native SDK für iOS

In diesem Thema erfahren Sie, wie das Brightcove Native SDK für iOS mit Wiedergabefehlern umgeht.

Überblick

Fehlercodes haben den Begriff ErrorCode im Namen. Zum Beispiel:

	kBCOVPlaybackSessionErrorCodeLoadFailed

Events haben das Wort Event im Namen. Zum Beispiel:

	kBCOVPlaybackSessionLifecycleEventFail

Wiedergabefehler

Wiedergabefehler werden durch Ereignisse behandelt. Im Allgemeinen erhalten Sie Wiedergabefehler, wenn Sie den Rückruf von Lifecycle-Ereignisdelegaten auf dem BCOVPlaybackController:

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

Um weitere Informationen zu erhalten, gehen Sie wie folgt vor:

  1. Wenn Sie ein Fehlerereignis wie kBCOVPlaybackSessionLifecycleEventFail oder erhalten kBCOVPlaybackSessionLifecycleEventResumeFail, suchen Sie im properties Wörterbuch des Ereignisses nach einem @"error" Schlüssel.

    Dies wird eine NSError Objekt mit Informationen zum Problem.

  2. Jeder NSError wird eine Fehlerdomäne wie die folgende haben:

    • NSCocoaErrorDomain
    • kBCOVPlaybackSessionErrorDomain
     

    Jede Fehlerdomäne hat einen zugehörigen Fehlercode und eine Fehlerbeschreibung, wie die folgende:

    • kBCOVPlaybackSessionErrorCodeLoadFailed
    • kBCOVPlaybackSessionErrorCodeNoPlayableSource
  3. Einige Fehler haben auch einen zugrunde liegenden Fehler, der aus dem Fehlerobjekt abgerufen werden kann userInfo Wörterbuch mit dem NSUnderlyingErrorKey Schlüssel. Dies wird normalerweise ein System sein NSError die weitere Informationen liefern können.

  4. Um alle Fehlerdomänen im SDK zu finden, durchsuchen Sie die Header nach Folgendem:

    	ErrorDomain

    Hier ist eine Liste von Headern, die haben ErrorDomain Verweise:

    • BCOVFPSAuthorizationProxy.h
    • BCOVFPSBrightcoveAuthProxy.h
    • BCOVOfflineVideoManager.h
    • BCOVPlaybackService.h
    • BCOVPlaybackSession.h
  5. Um alle Fehlercodes zu finden, suchen Sie jeden ErrorDomain für den folgenden:

    	ErrorCode

    In BCOVPlaybackSession.h sehen Sie zum Beispiel kBCOVPlaybackSessionErrorDomain mit den folgenden Fehlercodes:

    • kBCOVPlaybackSessionErrorCodeLoadFailed
    • kBCOVPlaybackSessionErrorCodeFailedToPlayToEnd
    • kBCOVPlaybackSessionErrorCodeNoPlayableSource
  6. Andere Domänen können Fehler anders zurückgeben. Zum Beispiel die BCOVPlaybackService -Objekt gibt Fehler in seinen Abschlussblöcken zurück, wenn beim Anfordern von Videos aus dem Online-Katalog Netzwerkfehler auftreten. Es verwendet die Fehlerdomäne kBCOVPlaybackServiceErrorDomain.

Tabelle der Abspielfehler

Hier finden Sie eine Liste möglicher Wiedergabefehler aus dem Native SDK für iOS. Beachten Sie, dass Fehler auch vom zugrundeliegenden Framework durchgereicht werden können.

iOS-Wiedergabefehler
Kopfzeile Fehler Beschreibung
BCOVFPSAuthorizationProxy.h KBCOVFPS Error-Domain Fehlerbereich für FairPlay-bezogene Fehler
KBCOVFPSErrorCode-Streaming-Inhaltsschlüsselanforderung Bei der Abfrage des Inhaltsschlüssels ist ein Fehler aufgetreten
Anforderung des Anwendungszertifikats für den KBCOVFPS-Fehlercode Fehler beim Anfordern des Anwendungszertifikats aufgetreten
BCOVFPSBrightcoveAuthProxy.h KbcovFpsAuthProxy-Fehlerdomäne Fehlerdomäne für FairPlay Auth Proxy-bezogene Fehler.
KBCOVFPSAuthProxy-Fehlercode Die Zertifikatsanforderung der Anwendung ist fehlgeschlagen Antrag auf Anwendungszertifikat fehlgeschlagen
KBCOVFPSAuthProxyErrorCodeContentKeyRequest ist fehlgeschlagen Antrag auf Schlüssel fehlgeschlagen
KBCOVFPSAuthProxyErrorCodeContentKeyGenerationist fehlgeschlagen Generierung der Schlüsselanforderung fehlgeschlagen
BCOVPlaybackService.h BCOV Playback Service Error Kein Fehler Kein Fehler.
BCOVPlaybackService-FehlercodeVerbindungsfehler Fehlercode, der angibt, dass bei der Verbindung mit der Playback-API ein Fehler aufgetreten ist. Prüfen Sie den error.userInfo-Schlüssel NSUnderlyingErrorKey auf den tatsächlichen Verbindungsfehler.
BCOVPlaybackService-FehlercodeJSON-Deserialisierungsfehler Fehlercode, der angibt, dass beim Parsen der Antwort als JSON ein Fehler aufgetreten ist. Wenn die Anfrage Daten zurückgegeben hat, werden diese NSData-Rohdaten mit dem Schlüssel kBCOVPlaybackServiceErrorKeyRawResponseData in die userInfo aufgenommen. Überprüfen Sie den error.userInfo-Schlüssel NSUnderlyingErrorKey auf den tatsächlichen JSON-Deserialisierungsfehler.
BcovPlaybackService-FehlercodeAPI-Fehler Fehlercode, der angibt, dass von der API ein Fehler zurückgegeben wurde. Überprüfen Sie den Error.UserInfo-Schlüssel KbcovPlaybackServiceErrorKeyAPIErrors auf ein NSArray mit Fehlern, die von der API zurückgegeben wurden, und den Schlüssel kbcovPlaybackServiceErrorKeyApiHttpStatusCode, um den zurückgegebenen Statuscode zu finden.
KBCOVPlaybackService-Fehlerdomäne Fehlerdomäne für BCOVPlaybackService.
KBCOV PlaybackServiceErrorKeyRaw-Antwortdaten Schlüssel für NSError.userInfo für Fehler mit Domain kBCOVPlaybackServiceErrorDomain und errorCode BCOVPlaybackServiceErrorCodeJSONDeserializationError. Dies sind die rohen Antwortdaten. Diese darf in error.userInfo nicht vorhanden sein.
KBCOVPlaybackServiceErrorKey-API-Fehler Schlüssel für NSError.userInfo für Fehler mit Domäne kBCOVPlaybackServiceErrorDomain und FehlerCode BCOVPlaybackServiceErrorCodeAPIError. Dies ist ein NSArray von Fehlern, die von der Playback-API zurückgegeben werden.
KBCOVPlaybackServiceErrorKey-API-HTTP-Statuscode Schlüssel für NSError.userInfo für Fehler mit Domäne kBCOVPlaybackServiceErrorDomain und FehlerCode BCOVPlaybackServiceErrorCodeAPIError. Dies ist der HTTP-Statuscode, der von der API-Anforderung zurückgegeben wird.
BCOVPlaybackSession.h KBCOV PlaybackSessionEventKey-Fehler Das Video konnte nicht geladen werden. Die Ereigniseigenschaften enthalten den zugrunde liegenden Fehler.
Das KBCOV PlaybackSessionLifecycle-Ereignis konnte bis zum Endzeitpunkt nicht abgespielt werden

Das Video ist während der Wiedergabe ausgefallen und konnte nicht wiederhergestellt werden, möglicherweise aufgrund eines Netzwerkfehlers. Die Ereigniseigenschaften enthalten den zugrunde liegenden Fehler, der durch kBCOVPlaybackSessionEventKeyError

Es kann möglich sein, diesen Fehler zu beheben, sobald das Netzwerk wiederhergestellt ist, indem Sie die verwenden [BCOVPlaybackController ResumeVideoAtTime:withAutoPlay:] Methode.

KBCOV PlaybackSessionEventKey-Fehler Es ist ein allgemeiner Fehler aufgetreten. Die Ereigniseigenschaften können die zugrunde liegenden
KBCOV PlaybackSessionLifecycleEventThumbnailAsset konnte nicht geladen werden Das gesuchte Miniaturbild konnte nicht geladen werden. Die Ereigniseigenschaften können den zugrunde liegenden Fehler enthalten, der durch kBCOVPlaybackSessionEventKeyError verschlüsselt wird.
KBCOV PlaybackSessionEventKey-Fehler Der Schlüssel für den Fehler in den Ereigniseigenschaften.
KBCOV Playback-Sitzungsfehlerdomäne Fehlerbereich für das SDK.
Fehler beim Laden des KBCOVPlaybackSessionErrorcodes Das Video konnte nicht geladen werden.
Der Fehlercode der KBCOV-Playback-Sitzung konnte nicht abgespielt werden, bis das Ende der Sitzung beendet wurde Das Video ist während der Wiedergabe ausgefallen und konnte nicht wiederhergestellt werden, möglicherweise aufgrund eines Netzwerkfehlers.
KBCOV PlaybackSession-Fehlercode, keine abspielbare Quelle Für dieses Video war keine spielbare Quelle verfügbar.
KBCOV PlaybackSessionErrorcode WiFi nicht verfügbar Es ist kein WiFi-Netzwerk verfügbar und allowsCellularPlayback ist deaktiviert.