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:
activateSerialKey
Enumeration 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:
License
Function name:
activate_serial_key
Structure:
FacePoint
Enumeration 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:
License
Function name:
activateSerialKey
Structure:
FacePoint
Enumeration 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:
License
Function name:
ActivateSerialKey
Structure:
FacePoint
Enumeration field:
LicenseError.InvalidLicense
Class name:
License
Function name:
activateSerialKey
Structure:
FacePoint
Enumeration field:
LicenseError.INVALID_LICENSE
Class name:
License
Function name:
activateSerialKey
Structure:
FacePoint
Enumeration field:
LicenseError.INVALID_LICENSE
Class name:
License
Function name:
activateSerialKey
Structure:
FacePoint
Enumeration field:
LicenseError.invalidLicense
Class name:
id3License_
Function name:
id3License_ActivateSerialKey
Structure:
id3FacePoint
Enumeration 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 Events
tab.In the
Pre-build event command line
box, 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.so
for 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.zip
package to access theid3Face.xcframework
directory.
- Add the Framework to Xcode:
Open your Xcode project and drag the
id3Face.xcframework
directory into the “Frameworks, Libraries, and Embedded Content” section.
- Update Build Settings:
Ensure that
id3Face.xcframework
is 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.xcframework
are 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"