iOS SDK Development

ZohoSignSDK provides easy to use of methods to sign a document with your iOS Mobile Application.

Features

  • Supports all ZohoSign document fields (Signature, Initial, Stamp, Name, Company, Job title, Sign Date, Custom Textfield, Dropdown, Radio button, Attachment, Checkbox)
  • Supports all signature creation methods like Draw, Type, Capture
  • Supports Light/Dark mode
  • Built-in document scanner for uploading attachments
  • Intuitive signing experience
  • Supports print and upload signed document
  • Supports two-factor Validation for signing document
  • Supports iPhone, iPad & macCatalyst
  • Supports 20 Languages

Prerequisites 

  • iOS 11.0+
  • Xcode 10.0+
  • Swift 5.0+

 

Installation

Installation using Cocoapods

You can integrate ZohoSignSDK in your application using CocoaPods using the ZohoSignSDK pod. Here is an example Podfile where ZohoSignSDK is included. After ZohoSignSDK is added to your Podfile, run the  pod install command to complete the Installation

Copiedplatform :ios, '11.0'

target 'Project Target' do
  use_frameworks!
  pod 'ZohoSignSDK', '~> 1.0.3-Beta'
end

Usage

Quick Start

Copiedimport ZohoSignSDK

class MyViewController: UIViewController {

    lazy var signClient : ZohoSignClient = {
        let zsClient = ZohoSignClient()
        zsClient.delegate = self
        zsClient.dataSource = self
        zsClient.skipDocumentDetailsPage = true
        zsClient.skipTermsAndConditionPage = true
        return zsClient
    }()

    func signDocument() {
          signClient.presentSigningViewController(signID: #DOCUMENT_SIGN_ID_TO_BE_SIGNED#, 
                     from: self)
    }

}

Delegates

Copiedextension MyViewController : ZohoSignClientDelegate{
    func zohosignClientDidFinishSigning(signID: String) {
        ##Success Handling
    }
    
    func zohosignClientDidFailed(error: ZSError) {
        ##Error handling
    }
    
    func zohosignClientDidSigningCancelledByUser() {
        ##User cancelled
    }
}

DataSource

Copiedextension ViewController : ZohoSignClientDataSource{
    func requestUserAgent() -> String {
            return #Useragent you want to set as header in request calls#>\
    }

    func clientAppId() -> String {
            return "YOUR APP ID" ##just for our reference and track
    }
}

Localizations

ZohoSignSDK has ready-to-use localizations for:

  • English en
  • English-UK en-GB
  • Dutch nl
  • German de
  • Italian it
  • Filipino fil
  • Spanish es
  • Swedish sv
  • French fr
  • Norwegian Bokmal nb
  • Polish pl
  • Portuguese(Brazil) pt-BR
  • Portuguese(Portugal) pt-PT
  • Russian ru
  • Chinese Simplified Han zh_Hans
  • Chinese Traditional zh_Hant
  • Turkish tr
  • vietnamese vi
  • korean ko
  • Japanese ja

Keys in Info.plist

You need to add some keys to the Info.plist file with descriptions, per Apple's requirement(s). You can get a plist of keys for permissions as follows:

List of keys:

NSCameraUsageDescription - This app needs access to camera to scan and capture signatures or documents. 
NSContactsUsageDescription - Allow access to your address book to add contacts directly to the app.
NSPhotoLibraryUsageDescription - This app needs access to camera roll to upload documents that you've already captured.