signoAPI iOS – Klasse STSignoInfoDelegate

Die Klasse STSignoInfoDelegate enthält Methoden, die bei bestimmten Ereignissen von den Klassen und STSignoSigner aufgerufen werden. Die Klasse ist Bestandteil der libSignoPDFSigner.

@protocol STSignoInfoDelegate

Anwendung:

@interface ViewController : UIViewController<STSignoInfoDelegate>

Methode willStartSigning:completion:

Diese Methode wird jedes Mal aufgerufen, wenn die Unterschrifterfassung für ein noch nicht unterschriebenes Signaturfeld gestartet werden soll.

-(void)willStartSigning:(NSString*)signatureFieldName completion:(void(^)(BOOL))startSigning

Parameter

Bedeutung


(NSString*) signatureFieldName

Name des Signaturfeldes, für das die Unterschrift erfasst werden soll.


(void(^)(BOOL)) startSigning

Callback, der aufgerufen werden muss, um die Unterschrifterfassung abzubrechen oder zu starten. Der Übergabeparameter hat dabei die folgende Bedeutung:



YES

Die Unterschrifterfassung soll gestartet werden.


NO

Die Unterschrifterfassung soll abgebrochen werden.

Rückgabewert

Bedeutung


-

-


Anwendung:

-(void)willStartSigning:(NSString*)signatureFieldName
completion:(void(^)(BOOL))startSigning
{
    // do some stuff, e. g. configure the capture dialog
    signoVC.signatureCaptureConfig.displayText = signatureFieldName;
    // go on with the signature capture
    startSigning(YES);
}

Methode signingProcessStarted:

Diese Methode wird aufgerufen, wenn die Unterschrifterfassung für ein noch nicht unterschriebenes Signaturfeld gestartet worden ist.

-(NSMutableArray*)signingProcessStarted:(NSString*)signatureFieldName

Parameter

Bedeutung

(NSString*) signatureFieldName

Name des Signaturfeldes, für das die Unterschrift erfasst wird.

Rückgabewert

Bedeutung

NSMutableArray*

Formularfelder, die vor dem Signieren auf „read only“ gesetzt werden sollen, in Form eines Arrays von STFormFieldInfoDTO-Objekten, oder nil, wenn die Formularfelder nicht verändert werden sollen. Formularfelder, die bereits „read only“ sind, werden nicht verändert. Wenn der Anwender die Unterschrifterfassung abbricht, werden die übergebenen Formularfelder nicht verändert.

Anwendung:

-(NSMutableArray*)signingProcessStarted:(NSString*)signatureFieldName
{
    return [signoVC getFormFields:FormFieldTypeEditableFields];
}

Methode willConfirmSigning:completion:

Diese Methode wird jedes Mal aufgerufen, wenn die Unterschrifterfassung für ein Signaturfeld beendet worden ist und die erfassten Daten in das Dokument eingebracht werden sollen.

-(void)willConfirmSigning:(NSString*)signatureFieldName completion:(void(^)(BOOL))acceptSignature

Parameter

Bedeutung


(NSString*) signatureFieldName

Name des Signaturfeldes, für das die Unterschrift erfasst worden ist.


(void(^)(BOOL)) acceptSignature

Callback, der aufgerufen werden muss, um die Unterschrifterfassung abzuschließen. Der Übergabeparameter hat dabei die folgende Bedeutung:



YES

Die Unterschrift soll in das Signaturfeld eingebracht werden.


NO

Die Unterschrift soll nicht in das Signaturfeld eingebracht und die Erfassung abgebrochen werden. Das Dokument soll nicht verändert werden.

Rückgabewert

Bedeutung


-

-


Anwendung:

-(void)willConfirmSigning:(NSString*)signatureFieldName completion:(void(^)(BOOL))acceptSignature
{
    // do some stuff and then go on with the signing process
    acceptSignature(YES);
}

Methode computeDigitalSignature:completion:

Diese Methode wird aufgerufen, wenn die digitale Signatur berechnet werden muss. Hierzu s. a. die Methoden bzw. und .

-(void)computeDigitalSignature:(NSData*)documentDigest completion:(void(^)(NSData*))addSignatureToDocument

Parameter

Bedeutung

(NSData*) documentDigest

Prüfsumme (SHA-256) des vorbereiteten Dokuments, welche zur Signaturberechnung verwendet werden muss.

(void(^)(NSData*)) addSignatureToDocument

Callback, der aufgerufen werden muss, um die Signierung des Dokuments abzuschließen. Der Übergabeparameter muss dabei die berechnete Signatur im PKCS#7-Format enthalten. Wird nil übergeben, wird die Signierung abgebrochen.

Rückgabewert

Bedeutung

-

-

Anwendung:

-(void)computeDigitalSignature:(NSData*)documentDigest completion:(void(^)(NSData))addSignatureToDocument
{
    // compute digital signature, i. e. in your backend...
    addSignatureToDocument(computedSignature);
}

Methode signingProcessConfirmed:

Diese Methode wird jedes Mal aufgerufen, wenn die Unterschrifterfassung für ein Signaturfeld erfolgreich beendet und das Dokument fertig signiert ist.

-(void)signingProcessConfirmed:(NSString*)signatureFieldName

Parameter

Bedeutung

(NSString*) signatureFieldName

Name des Signaturfeldes, für das die Unterschrift erfasst worden ist.

Rückgabewert

Bedeutung

-

-

Anwendung:

-(void)signingProcessConfirmed:(NSString*)signatureFieldName
{
    // event handling
}

Methode signingProcessCancelled:

Diese Methode wird aufgerufen, wenn die Unterschrifterfassung vom Anwender abgebrochen worden ist, indem er den „Abbrechen“-Button betätigt hat.

-(void)signingProcessCancelled:(NSString*)signatureFieldName

Parameter

Bedeutung

(NSString*) signatureFieldName

Name des Signaturfeldes, für das die Erfassung abgebrochen worden ist.

Rückgabewert

Bedeutung

-

-

Anwendung:

-(void)signingProcessCancelled:(NSString*)signatureFieldName
{
    // event handling
}

Methode signingProcessFailed:errorText:errorCode:

Diese Methode wird aufgerufen, wenn die Unterschrifterfassung oder das Einbringen der Unterschrift in das Dokument fehlgeschlagen ist.

-(void)signingProcessFailed:(NSString*)signatureFieldName errorText:(NSString*)errorText errorCode:(int)errorCode

Parameter

Bedeutung

(NSString*) signatureFieldName

Name des Signaturfeldes, bei dem die Erfassung fehlgeschlagen ist.

(NSString*)errorText

Beschreibung des Fehlers

(int)errorCode

Fehlercode.

Rückgabewert

Bedeutung

-

-

Anwendung:

-(void)signingProcessFailed:(NSString*)signatureFieldName errorText:(NSString*)errorText errorCode:(int)errorCode
{
    // event handling
}

Folgende Fehler können auftreten:

Fehlercode

Bedeutung

-120

Das Dokument konnte nicht geladen werden.

-121

Das Dokument konnte nicht gelesen werden.

-122

Das PDF ist passwortgeschützt.

-123

Der Schlüsselcontainer wurde nicht gefunden.

-124

Der Schlüsselcontainer konnte nicht gelesen werden.

-125

Das Passwort des Schlüsselcontainers ist ungültig.

-126

Der Schlüsselcontainer hat ein nicht unterstütztes Format.

-127

Der Schlüsselcontainer enthält keinen privaten Schlüssel.

-128

Fehler beim Schreiben der Datei.

-129

Fehler beim Signieren des Dokuments.

-130

Der Signaturfeldname ist ungültig.

-131

Das Biometrie-Zertifikat konnte nicht gelesen werden.

-132

Die erfasste Unterschrift ist zu kurz.

-133

Der private Schlüssel konnte nicht gefunden werden.

-134

Das Signatur-Zertifikat konnte nicht gelesen werden.

-137

Das Dokument konnte nicht signiert werden, da das “NeedAppearances”-Flag auf “true” gesetzt ist.

-136

Die digitale Signatur konnte nicht eingebracht werden, weil sie länger ist als in der Eigenschaft digitalSignatureMaxLength angegeben.

-138

Das Signatur-Zertifikat ist abgelaufen.

-145

Das Dokument konnte aufgrund eines Problems mit einer xref-Tabelle nicht signiert werden.

-146

Das Dokument konnte aufgrund eines Zeitstempelproblems nicht signiert werden.

-147

Das Signatur-Zertifikat konnte nicht im Schlüsselcontainer gefunden werden.

-150

Beim Signieren ist ein unbekannter Fehler aufgetreten.

Methode signatureInfoPressed

Diese Methode wird aufgerufen, wenn die „Signaturfelder“-Schaltfläche in der Werkzeugleiste angetippt worden ist.

-(BOOL)signatureInfoPressed

Parameter

Bedeutung


-

-


Rückgabewert

Bedeutung


BOOL

YES

Die Bibliothek zeigt den Standarddialog mit den Signaturfeldern des Dokuments an.


NO

Die Bibliothek reagiert nicht mehr auf das Event; üblicherweise würde die App dann das Eventhandling übernehmen.

Anwendung:

-(BOOL)signatureInfoPressed
{
    return YES;
}

Methode documentSaved

Diese Methode wird aufgerufen, wenn die „Speichern“-Schaltfläche in der Werkzeugleiste angetippt worden ist. Üblicherweise sollte in diesem Event aufgerufen werden.

-(BOOL)documentSaved

Parameter

Bedeutung


-

-


Rückgabewert

Bedeutung


BOOL

YES

Die „Speichern“-Schaltfläche soll ausgegraut werden.


NO

Die „Speichern“-Schaltfläche soll nicht ausgegraut werden.

Anwendung:

-(BOOL)documentSaved
{
    // event handling
    return YES;
}

Methode backButtonPressed

Diese Methode wird aufgerufen, wenn die „Zurück“-Schaltfläche in der Werkzeugleiste angetippt worden ist. Üblicherweise sollte die View dann entfernt und zurück zur eigenen App-Oberfläche gewechselt werden.

-(void)backButtonPressed

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Anwendung:

-(void)backButtonPressed
{
    // event handling
}

Methode photoCaptureFailed:errorText:errorCode:

Diese Methode wird aufgerufen, wenn die App keine Nutzungsrechte für die Kamera besitzt oder die Bilderfassung fehlgeschlagen ist.

-(void)photoCaptureFailed:(NSString*)photoFieldName errorText:(NSString*) errorText errorCode:(int)errorCode

Parameter

Bedeutung

(NSString*) photoFieldName

Name des Fotofeldes, bei dem die Bilderfassung fehlgeschlagen ist.

(NSString*)errorText

Beschreibung des Fehlers

(int)errorCode

Fehlercode.

Rückgabewert

Bedeutung

-

-

Anwendung:

-(void)photoCaptureFailed:(NSString*)photoFieldName errorText:(NSString*) errorText errorCode:(int)errorCode
{
    // event handling
}

Methode viewerRectConfirmed:inPage:viewerRectId

Diese Methode wird aufgerufen, wenn die Bestätigungs-Schaltfläche eines durch den Aufruf von erzeugten Rechtecks angetippt worden ist. Üblicherweise sollte in diesem Event oder aufgerufen werden.

-(BOOL)viewerRectConfirmed:(CGRect)rectInPdf  inPage:(int)page viewerRectId:(int)viewerRectId

Parameter

Bedeutung


(CGRect)rectInPdf

Position und Größe des Rechtecks auf der Seite oder CGRectZero, wenn das Rechteck eine ungültige Position hat.


(int)page

Nummer der Seite, auf der das Rechteck bestätigt wurde oder -1, wenn das Rechteck eine ungültige Position hat. Die erste Seitennummer des Dokuments beginnt mit 1.


(int)viewerRectId

Eindeutige ID des erzeugten Rechtecks.


Rückgabewert

Bedeutung


BOOL

YES

Das Rechteck soll ausgeblendet werden.


NO

Das Rechteck soll weiterhin angezeigt werden.

Anwendung:

-(BOOL)viewerRectConfirmed:(CGRect)rectInPdf inPage:(int)page viewerRectId:(int)viewerRectId
{
    STSignatureFieldInfoDTO *sigField = [[STSignatureFieldInfoDTO alloc] init];
    sigField.name = @"New_Signature";
    sigField.page = page;
    sigField.isSigned = false;
    sigField.rectangle = rectInPdf;
    int result = [signoVC createNewSignatureField: sigField];
    if (result < 0)
    {
        // error handling
        return NO;
    }
    return YES;
}

Methode viewerRectCancelled:

Diese Methode wird aufgerufen, wenn die Abbrechen-Schaltfläche eines durch den Aufruf von erzeugten Rechtecks angetippt worden ist.

-(void)viewerRectCancelled:(int)viewerRectId

Parameter

Bedeutung

(int)viewerRectId

Eindeutige ID des erzeugten Rechtecks.

Rückgabewert

Bedeutung

-

-

Anwendung:

-(void)viewerRectCancelled:(int)viewerRectId
{
    // event handling
}

Methode notifyLicenceStatus:

Diese Methode wird aufgerufen, um das Ergebnis der Lizenzvalidierung mitzuteilen. Eine App kann hier z. B. den Anwender auffordern, einen Lizenzschlüssel einzugeben.

-(void)notifyLicenceStatus:(LicenceError)licenceError

Parameter

Bedeutung

(LicenceError)licenceError

Eine Eigenschaft, die einen Wert des mit NS_ENUM definierten Enums Error enthält. Siehe die Lizenzfehler-Tabelle in Kapitel .

Rückgabewert

Bedeutung

-

-

Anwendung:

-(void)notifyLicenceStatus:(LicenceError)licenceError
{
    if (licenceError != No_Error)
    {
        // software is not licensed, prompt dialog for entering a key
    }
}

Methode notesModeDidStartSuccessfully

Diese Methode wird aufgerufen, wenn die Methode erfolgreich ausgeführt wurde.

-(void)notesModeDidStartSuccessfully

Parameter

Bedeutung

-

-

Rückgabewert

Bedeutung

-

-

Anwendung:

-(void)notesModeDidStartSuccessfully
{
    // The notes mode was successfully executed.
}

Methode notesModeDidFailToStart:

Die Methode wird aufgerufen, wenn bei der Ausführung der Methode ein Fehler aufgetreten ist.

-(void)onNotesModeFailedToStart:(int)errorCode

Parameter

Bedeutung


(int)errorCode

< 0

Es ist ein Fehler aufgetreten (s. o.).

Rückgabewert

Bedeutung


-

-


Anwendung:

-(void)onNotesModeFailedToStart:(int)errorCode
{
     //The notes mode could not be executed successfully.
}

Methode notesModeDidFinishWithSavedStatus:

Diese Methode wird aufgerufen, wenn die Methode beendet wurde – unabhängig davon, ob Notizen erfolgreich gespeichert wurden oder keine Notizen vorhanden waren.

-(void)notesModeDidFinishWithSavedStatus:(BOOL)isSaved

Parameter

Bedeutung


boolean isSaved

true

Die erstellten Notizen wurden erfolgreich gespeichert.


false

Es erfolgte keine Speicherung, da keine erstellten Notizen vorhanden waren.

Rückgabewert

Bedeutung


-

-


Anwendung:

-(void)notesModeDidFinishWithSavedStatus:(BOOL)isSaved
{
    if (isSaved)
    {
        // The notes were saved successfully.
    } else {
        // There were no notes available.
    }
}

Methode notesModeDidFinishWithFailure:

Diese Methode wird aufgerufen, wenn während der Ausführung von ein Fehler auftritt.

-(void)onNotesModeDidFinishWithFailure:(int)errorCode

Parameter

Bedeutung


(int)errorCode

< 0

Es ist ein Fehler aufgetreten (s. o.).

Rückgabewert

Bedeutung


-

-


Anwendung:

-(void)onNotesModeFailedToStart:(int)errorCode
{
     // The notes could not be saved.
}