The XignSys SDK is provided via private repositories owned the XignSys GmbH. If you are missing some credentials (or access rights) mentioned in the following chapters, please contact us. The following two chapters explain how the XignSys SDK can be made available for your app on Android or iOS platform.
The XignSys iOS SDK is provided via the XignSys GitLab from the
project XignSysIosSdk. The project contains
a Package.swift and therefore can be added as Swift Package Manager (SPM) dependency to the project with on of
the following URL:
Note: The ssh link is the preferred and most secure way to add the XignSys SDK to your project, but requires you to add an ssh key to your XignSys GitLab account. This can be done under https://gitlab.xign.de/-/profile/keys.
The versions of the SDK are managed via GitLab tags. Exact version matching should be used while importing the SDK, because even minor version update could affect the compatibility.
Note: Even though the project contains a
.podspecfile, the SDK should not be imported as a CocoaPod. The podspec is currently not maintained. Nevertheless, if an import as CocoaPod is unavoidable, please contact us, so we can update the file.
After adding the dependency to the application's target some further changes need to made, if not already present.
First, the XignSys SDK requires the capability DataProtection to securely store data. Second, if the biometric
authentication feature should be made available, the key NSFaceIDUsageDescription along with a description on why
it is used must be specified in the app's info.plist, e.g. "Face ID is used to achieve a higher level of security
during authentication". This is necessary because Apple requires the app to get the permission from the end user on
whether it is allowed to use FaceID or not.
Furthermore, the XignSys SDK checks if the operating system is jailbroken or not. A part of this evaluation process is
to check whether known apps that need root access are installed on the device. This is done by using
the canOpenURL(_:) method and requires the following URLs to be listed in the apps info.plist:
XML
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>cydia</string>
<string>undecimus</string>
<string>sileo</string>
<string>zbra</string>
<string>filza</string>
<string>activator</string>
</array>
</dict>
</plist>
Finally, the XignSys SDK can then be used by importing the module XignSysSdk within Swift files.
For the Android platform the XignSys SDK is provided via a private maven repository. To add the dependency to the build script the following steps are required.
Note: The instructions are written for Kotlin DSL Gradle build files. If Groovy DSL build files are used, please refer to the Android build script documentation or Gradle documentation to translate the syntactical differences.
In the root build.gradle.kts or build.gradle the XignSys private maven repository needs to be added to the list of
repositories. The following example shows how this can be achieved; the username and password must be filled in with the
credentials provided to you.
Kotlin
allprojects {
repositories {
maven {
url = uri("https://nexus.xign.de/repository/maven-sdk-external/")
credentials {
username = ""
password = ""
}
}
}
}
The SDK is split into different aar's, targeting specific Android API levels. As for version 5.0.0 of the XignSys SDK
only the min24 artifact for Android API level 24 is needed and can be added to the build.gradle.kts
or build.gradle, e.g. like:
Kotlin
dependencies {
// XignSys SDK
implementation("com.xignsys:android-sdk-min24:4.3.0")
}
Note: As for the version 5.0.0 of the XignSys SDK the Android API level 23 support has been discontinued.