Overview¶
Naming conventions¶
For the sake of clarity in this multi-language documentation, the following naming conventions have been adopted.
Class, struct and enumeration names are written in PascalCase. Example:
License.Class and struct member names are written in lowerCamelCase. Example:
activateSerialKeyEnumeration fields are written in lowerCamelCase. Example :
LicenseError.invalidLicense.
Warning
The naming convention adopted in this documentation does not necessarily reflect the convention for a given programming language. More information is given below.
Conventions per programming language¶
The following conventions apply:
This SDK complies with the PEP 8 recommendations.
Class, struct and enumeration names are written in PascalCase.
Class and struct member names are written in snake_case.
Enumeration fields are written in UPPER_CASE_WITH_UNDERSCORE.
Examples:
Class name:
LicenseFunction name:
activate_serial_keyStructure:
FacePointEnumeration field:
LicenseError.INVALID_LICENSE
Class, struct and enumeration names are written in PascalCase.
Class and struct member names are written in lowerCamelCase.
Enumeration fields are written in lowerCamelCase.
Examples:
Class name:
LicenseFunction name:
activateSerialKeyStructure:
FacePointEnumeration field:
LicenseError.invalidLicense
Class, struct and enumeration names are written in PascalCase.
Class and struct member names are written in PascalCase.
Enumeration fields are written in PascalCase.
Examples:
Class name:
LicenseFunction name:
ActivateSerialKeyStructure:
FacePointEnumeration field:
LicenseError.InvalidLicense
Class name:
LicenseFunction name:
activateSerialKeyStructure:
FacePointEnumeration field:
LicenseError.INVALID_LICENSE
Class name:
LicenseFunction name:
activateSerialKeyStructure:
FacePointEnumeration field:
LicenseError.INVALID_LICENSE
Class name:
LicenseFunction name:
activateSerialKeyStructure:
FacePointEnumeration field:
LicenseError.invalidLicense
Class name:
id3License_Function name:
id3License_ActivateSerialKeyStructure:
id3FacePointEnumeration field:
id3LicenseError_InvalidLicense
Note
The C API implements pseudo object-oriented programming concepts where the object is passed explicitly to a member function as first parameter.
Adding the library to your project¶
The SDK relies on native libraries that must be copied to a bin subdirectory within your project’s target directory.
The following libraries are necessary:
Library |
Description |
|---|---|
|
The main library for fingerprint processing and operations. |
To automate the process within Visual Studio, add a pre-build event to your project:
Right-click on your project in the Solution Explorer and select
Properties.Go to the
Build Eventstab.In the
Pre-build event command linebox, enter the following command:mkdir $(TargetDir)bin xcopy /e /y $(SolutionDir)..\..\bin\*.dll $(TargetDir)\bin
This command copies all DLL files from the SDK’s native library directory to the bin subdirectory of your project’s target directory every time the project is built.
Ensure the path $(SolutionDir)..\..\ is correctly adjusted to point to the location where the SDK’s native libraries are stored.
Add one of the following native library:
/bin/linux/x64/libid3Face.so, or/bin/linux/x64_gpu/libid3Face.sofor CUDA support.
Include the AAR package to your project:
/bin/android/eu.id3.face.aar
Include the package in your project:
- Unzip the Framework:
Unzip the
/bin/apple/id3Face.xcframework.zippackage to access theid3Face.xcframeworkdirectory.
- Add the Framework to Xcode:
Open your Xcode project and drag the
id3Face.xcframeworkdirectory into the “Frameworks, Libraries, and Embedded Content” section.
- Update Build Settings:
Ensure that
id3Face.xcframeworkis listed under “Link Binary with Libraries” in your target’s “Build Phases”. Set the “Framework Search Paths” in your target’s “Build Settings” to include the path toid3Face.xcframework.
- Configure Code Signing:
Adjust the code signing settings in Xcode to allow the app to run with the included framework.
- Handle Runtime Dependencies:
Ensure any additional runtime dependencies required by
id3Face.xcframeworkare included.
Using the SDK in your project¶
import id3face
import 'package:id3_face/id3_face.dart';
using id3.Face;
import eu.id3.face;
#include "id3Face.h"