Youverify iOS SDK(Document Scan)

YouVerify_SDK allows you to onboard users properly and confirming identities by providing data embedded in their identity documents. A wide range of IDs can be scanned ranging from driver’s license to national ID cards, passports e.t.c.

Requirements

YouVerify_SDK supports ios 15 and above and can scan IDs from the following country list -:

Country
Documents

Albania

Driver Card, ID Card, Professional DL, Passport

Algeria

Driving Licence, ID Card, Passport

Argentina

Alien ID, Driving Licence, ID Card, Passport

Armenia

ID Card

Australia

Passport, ID Card, Driving Licence, Proof Of Age Card

Azerbaijan

ID Card, Passport

Bangladesh

Driving Licence, ID Card, Passport

Belgium

Driving Licence, ID Card, Passport, Minors ID, Passport, Residence Permit, Resident ID

Bosnia And Herzegovina

Driving Licence, ID Card, Passport

Botswana

ID Card

Brazil

Driving Licence, Passport

Bulgaria

Driving Licence, ID Card, Passport

Canada

Passport, ID Card, Citizenship Certificate, Residence Permit, Tribal ID, Weapon Permit, Driving Licence, Public Services Card

Colombia

Alien ID, Driving Licence, ID Card, Minors ID, Passport

Croatia

Driving Licence, ID Card, Residence Permit, Passport

Cyprus

Driving Licence, ID Card, Residence Permit

Czechia

Driving Licence, ID Card, Residence Permit, Passport

Dominican Republic

Driving Licence, ID Card

Ecuador

Driving Licence, ID Card

Estonia

Driving Licence, ID Card, Residence Permit, Passport

Finland

Alien ID, Driving Licence, ID Card, Residence Permit, Passport

France

Driving Licence, ID Card, Residence Permit, Passport

Georgia

Driving Licence, ID Card, Passport

Germany

Driving Licence, ID Card, Residence Permit, Passport

Ghana

Driving Licence, ID Card, Passport

Greece

Driving Licence, ID Card, Residence Permit, Passport

Guatemala

Consular ID, Driving Licence, ID Card, Passport

Hong Kong

ID Card, Passport

Iran

Passport

Ireland

Driving Licence, Passport Card, Public Services Card, Passport

Israel

Driving Licence, ID Card, Passport

Italy

Driving Licence, ID Card, Residence Permit, Passport

Ivory Coast

Driving Licence, ID Card

Jamaica

Driving Licence

Japan

Driving Licence, Passport

Jordan

Driving Licence, ID Card, Passport

Kazakhstan

ID Card

Kenya

ID Card, Passport

Kuwait

Driving Licence, ID Card, Resident ID

Kyrgyzstan

ID Card

Latvia

Alien ID, Driving Licence, ID Card, Residence Permit Passport

Libya

Passport

Lithuania

Driving Licence, ID Card, Passport

Luxembourg

Driving Licence, ID Card, Residence Permit

Malaysia

Driving Licence, MyKAS, MyKad, MyKid, MyPR, MyPolis, MyTentera, Refugee ID, Passport, i-Kad

Maldives

ID Card

Malta

Driving Licence, ID Card, Residence Permit

Mexico

Consular ID, Passport, Professional DL, Residence Permit, Voter ID, Driving Licence

Moldova

ID Card, Passport

Montenegro

Driving Licence, ID Card, Passport

Morocco

Driving Licence, ID Card, Passport

Nepal

Passport

Netherlands

Driving Licence, ID Card, Residence Permit, Passport

New Zealand

Driving Licence, Passport

Nicaragua

ID Card

Nigeria

Driving Licence, ID Card, Passport, Voter ID

North

Macedonia Driving Licence, ID Card, Passport

Norway

Driving Licence, Residence Permit, Passport

Pakistan

Consular ID, ID Card, Passport, Driving Licence

Philippines

Driving Licence, Multipurpose ID, Passport, Professional ID, Social Security Card, Tax ID, Voter ID

Poland

Driving Licence, ID Card, Residence Permit, Passport

Portugal

Driving Licence, ID Card, Residence Permit, Passport

Puerto

Rico Driving Licence, Voter ID

Romania

Driving Licence, ID Card, Passport

Russia

Driving Licence, Passport

Rwanda

ID Card

Senegal

ID Card

Serbia

Driving Licence, ID Card, Passport

Singapore

Driving Licence, Employment Pass, Fin Card, ID Card, Resident ID, Passport, S Pass, Work Permit

Slovakia

Driving Licence, ID Card, Residence Permit, Passport

Slovenia

Driving Licence, ID Card, Residence Permit, Passport

South Africa

Driving Licence, ID Card, Passport

South Korea

Driving Licence, ID Card, Passport

Syria

Passport

Thailand

Alien ID, Driving Licence, ID Card, Passport

United Arab Emirates

Driving Licence, ID Card, Resident ID

Uganda

Driving Licence, ID Card

United Kingdom

Driving Licence, Passport, Residence Permit

Uruguay

ID Card

United States of America

Border Crossing Card, Global Entry Card, Green Card, Military ID, Nexus Card, Passport, Social Security Card, Veteran ID, Work Permit, Driving Licence, ID Card, Weapon Permit

Zimbabwe

Passport

Integration

YouVerify_SDK can integrate with both UIKit and SwiftUI using slightly different syntax.

Integrate YouVerify DocumentCapture with Cocoapods by calling :-

pod β€˜YouVerify_SDK’ 

Add a post install block to the end of your podfile with the following command

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      	config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
    end
  end
end

and run pod install on your terminal from your ios project directory.

After a successful pod install, navigate to your targets and select "Build Settings" and set "User Script Sandboxing to NO"

Add the Camera usage description in the info.plist file

<key>NSCameraUsageDescription</key>
	<string>YouVerify would like to use your camera for better ID capturing and recognition</string>

UIKit

Import the SDK into your project from any view Controller with

import YouVerify_SDK

To start the document capture process, declare a YV variable and pass a callback to it.

let yv = YV(merchant_id: "<merchant_id>", callBack: {[weak self] dict in
                
            if let dict = dict {
                //self!.printResult(dict: dict)
            }else {
                print("dict is nil")
            }
        })

You can customize the look and and feel of the buttons and the entry texts and can also set a username by passing an appearance object in the YV variable declared earlier. Leaving out any argument in the Appearance object is fine as they all have a default value.

let appearance = Appearance(actionText: "Verify Identity", bTnTextColor: UIColor.white, userName: "User")
let yv = YV(merchant_id: "61d880f1e8e15aaf24558f1a", appearance2: appearance, callBack: {[weak self] dict in
                
            if let dict = dict {
                //self!.printResult(dict: dict)
            }else {
                print("dict is nil")
            }
        })

Finally, start the capture process by calling the startYV() function.

yv.startYV(from: self)

SwiftUI

Insert a YVView object into a SwiftUI view hierachy, passing in the merchant id, a property to hold the result of the document capture and a boolean state variable. The dict property gets updated with the result after the document capture process have been concluded.

struct ContentView: View {
    
    @ObservedObject var dict : AppState
    @State var isShowingYouVerify = false
    
    var body: some View {
        VStack {
            Button(action: {
                self.isShowingYouVerify.toggle()
            }) {
                Text(isShowingYouVerify ? "Selected" : "Not Selected")
            }
            Text(dict.dict.description)
        }
        if isShowingYouVerify {
            YVView(appearance: nil, dict: $dict.dict, isShown: $isShowingYouVerify, mercha_id: "<MERCHANT ID>")
        }
    }
}

Last updated

Was this helpful?