@regulaforensics/face-sdk 8.4.1397-nightly → 8.4.1402-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Package.swift +27 -0
- package/README.md +3 -0
- package/android/CDVFaceSDK.kt +4 -3
- package/android/build.gradle.kts +37 -0
- package/android/cordova.gradle.kts +17 -0
- package/android/src/main/kotlin/com/regula/plugin/{facesdk → face/sdk}/Config.kt +1 -1
- package/android/src/main/kotlin/com/regula/plugin/{facesdk → face/sdk}/Implementation.kt +2 -2
- package/android/src/main/kotlin/com/regula/plugin/{facesdk → face/sdk}/JSONConstructor.kt +4 -4
- package/android/src/main/kotlin/com/regula/plugin/{facesdk → face/sdk}/RNFaceApiModule.kt +1 -1
- package/android/src/main/kotlin/com/regula/plugin/{facesdk → face/sdk}/Utils.kt +2 -2
- package/app.plugin.js +10 -7
- package/examples/capacitor/README.md +2 -0
- package/examples/capacitor/android/app/build.gradle +1 -10
- package/examples/capacitor/android/app/src/main/AndroidManifest.xml +9 -0
- package/examples/capacitor/android/app/src/main/res/xml/file_paths.xml +5 -0
- package/examples/capacitor/android/build.gradle +12 -3
- package/examples/capacitor/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/examples/capacitor/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/examples/capacitor/android/gradle.properties +4 -0
- package/examples/capacitor/android/gradlew +4 -7
- package/examples/capacitor/android/gradlew.bat +82 -94
- package/examples/capacitor/android/variables.gradle +13 -9
- package/examples/capacitor/capacitor.config.json +15 -0
- package/examples/capacitor/index.tsx +15 -23
- package/examples/capacitor/ios/App/App/AppDelegate.swift +5 -40
- package/examples/capacitor/ios/App/App/Info.plist +18 -2
- package/examples/capacitor/ios/App/App/SceneDelegate.swift +23 -0
- package/examples/capacitor/ios/App/App.xcodeproj/project.pbxproj +25 -85
- package/examples/capacitor/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift +1 -0
- package/examples/capacitor/package.json +14 -19
- package/examples/capacitor/scripts/android.sh +5 -8
- package/examples/capacitor/scripts/ios.sh +5 -7
- package/examples/capacitor/scripts/setup.sh +2 -6
- package/examples/capacitor/src/main.css +5 -1
- package/examples/capacitor/vite.config.ts +0 -12
- package/examples/ionic/README.md +2 -0
- package/examples/ionic/config.xml +1 -1
- package/examples/ionic/index.tsx +8 -3
- package/examples/ionic/package.json +23 -27
- package/examples/ionic/scripts/android.sh +0 -2
- package/examples/ionic/scripts/ios.sh +0 -2
- package/examples/ionic/scripts/setup.sh +0 -2
- package/examples/ionic/tsconfig.json +0 -1
- package/examples/react_native/README.md +2 -0
- package/examples/react_native/app.config.ts +0 -1
- package/examples/react_native/package.json +16 -17
- package/examples/react_native/scripts/android.sh +6 -6
- package/examples/react_native/scripts/ios.sh +5 -5
- package/examples/react_native/scripts/setup.sh +3 -3
- package/ios/CDVFaceSDK.swift +6 -1
- package/ios/Decoder.swift +1 -1
- package/ios/Implementation.swift +4 -4
- package/ios/RNFaceSDK.swift +2 -2
- package/package.json +1 -1
- package/plugin.xml +11 -11
- package/react-native-face-sdk.podspec +14 -0
- package/test/package-lock.json +5 -2
- package/www/capacitor/internal/cordova.js +2 -2
- package/www/cordova.js +2 -2
- package/RNFaceSDK.podspec +0 -21
- package/android/build.gradle +0 -36
- package/android/cordova.gradle +0 -18
- package/examples/capacitor/android/app/capacitor.build.gradle +0 -21
- package/examples/capacitor/android/capacitor.settings.gradle +0 -12
- package/examples/capacitor/ionic.config.json +0 -7
- package/examples/capacitor/ios/App/App/Base.lproj/Main.storyboard +0 -19
- package/examples/capacitor/ios/App/App.xcworkspace/contents.xcworkspacedata +0 -10
- package/examples/capacitor/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/examples/capacitor/ios/App/Podfile +0 -31
- package/examples/capacitor/ios/App/Podfile.lock +0 -57
- package/examples/capacitor/package-lock.json +0 -3376
- package/examples/ionic/package-lock.json +0 -19875
- package/examples/react_native/package-lock.json +0 -8908
- package/examples/react_native/vendor/image-size-metro-compat/index.cjs +0 -16
- package/examples/react_native/vendor/image-size-metro-compat/package.json +0 -8
|
@@ -1,41 +1,36 @@
|
|
|
1
|
-
import '@
|
|
1
|
+
import { Camera, CameraResultType, CameraSource } from '@capacitor/camera'
|
|
2
|
+
import mainHtml from './src/main.html?raw'
|
|
2
3
|
import '/src/main.css'
|
|
3
|
-
import { setupIonicReact } from '@ionic/react'
|
|
4
|
-
import { StatusBar, Style } from '@capacitor/status-bar'
|
|
5
|
-
import { File } from '@awesome-cordova-plugins/file'
|
|
6
|
-
import { Camera, DestinationType, MediaType, PictureSourceType } from '@awesome-cordova-plugins/camera'
|
|
7
4
|
import { main } from './src/main'
|
|
8
5
|
import { Dialog } from '@capacitor/dialog'
|
|
9
6
|
|
|
10
7
|
document.addEventListener('deviceready', async () => {
|
|
11
|
-
document.getElementById("content").innerHTML =
|
|
8
|
+
document.getElementById("content").innerHTML = mainHtml
|
|
12
9
|
await new Promise(resolve => requestAnimationFrame(() => requestAnimationFrame(resolve)))
|
|
13
10
|
document.dispatchEvent(new Event('ready'))
|
|
14
11
|
})
|
|
15
12
|
|
|
16
13
|
export async function loadAssetIfExists(path: string): Promise<string | null> {
|
|
17
14
|
try {
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
var response = await fetch(`assets/${path}`)
|
|
16
|
+
if (!response.ok) return null
|
|
17
|
+
var blob = await response.blob()
|
|
18
|
+
return await new Promise<string | null>((resolve, reject) => {
|
|
19
|
+
var reader = new FileReader()
|
|
20
|
+
reader.onload = () => resolve(reader.result as string)
|
|
21
|
+
reader.onerror = () => reject(reader.error)
|
|
22
|
+
reader.readAsDataURL(blob)
|
|
26
23
|
})
|
|
27
|
-
return result
|
|
28
24
|
} catch (_) {
|
|
29
25
|
return null
|
|
30
26
|
}
|
|
31
27
|
}
|
|
32
28
|
|
|
33
29
|
export async function pickImage(): Promise<string | null> {
|
|
34
|
-
return await Camera.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
})
|
|
30
|
+
return (await Camera.getPhoto({
|
|
31
|
+
resultType: CameraResultType.Base64,
|
|
32
|
+
source: CameraSource.Photos
|
|
33
|
+
})).base64String ?? null
|
|
39
34
|
}
|
|
40
35
|
|
|
41
36
|
export async function chooseOption(): Promise<boolean | null> {
|
|
@@ -48,6 +43,3 @@ export async function chooseOption(): Promise<boolean | null> {
|
|
|
48
43
|
}
|
|
49
44
|
|
|
50
45
|
document.addEventListener('ready', main)
|
|
51
|
-
|
|
52
|
-
setupIonicReact()
|
|
53
|
-
StatusBar.setStyle({ style: Style.Light })
|
|
@@ -1,49 +1,14 @@
|
|
|
1
1
|
import UIKit
|
|
2
|
-
import Capacitor
|
|
3
2
|
|
|
4
|
-
@
|
|
3
|
+
@main
|
|
5
4
|
class AppDelegate: UIResponder, UIApplicationDelegate {
|
|
6
|
-
|
|
7
|
-
var window: UIWindow?
|
|
8
|
-
|
|
9
5
|
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
|
10
|
-
// Override point for customization after application launch.
|
|
11
6
|
return true
|
|
12
7
|
}
|
|
13
8
|
|
|
14
|
-
func
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
func applicationDidEnterBackground(_ application: UIApplication) {
|
|
20
|
-
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
|
|
21
|
-
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
func applicationWillEnterForeground(_ application: UIApplication) {
|
|
25
|
-
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
func applicationDidBecomeActive(_ application: UIApplication) {
|
|
29
|
-
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
|
|
9
|
+
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
|
|
10
|
+
let configuration = UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
|
|
11
|
+
configuration.delegateClass = SceneDelegate.self
|
|
12
|
+
return configuration
|
|
30
13
|
}
|
|
31
|
-
|
|
32
|
-
func applicationWillTerminate(_ application: UIApplication) {
|
|
33
|
-
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
|
|
37
|
-
// Called when the app was launched with a url. Feel free to add additional processing here,
|
|
38
|
-
// but if you want the App API to support tracking app url opens, make sure to keep this call
|
|
39
|
-
return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
|
|
43
|
-
// Called when the app was launched with an activity, including Universal Links.
|
|
44
|
-
// Feel free to add additional processing here, but if you want the App API to support
|
|
45
|
-
// tracking app url opens, make sure to keep this call
|
|
46
|
-
return ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
14
|
}
|
|
@@ -33,8 +33,6 @@
|
|
|
33
33
|
<string></string>
|
|
34
34
|
<key>UILaunchStoryboardName</key>
|
|
35
35
|
<string>LaunchScreen</string>
|
|
36
|
-
<key>UIMainStoryboardFile</key>
|
|
37
|
-
<string>Main</string>
|
|
38
36
|
<key>UIRequiredDeviceCapabilities</key>
|
|
39
37
|
<array>
|
|
40
38
|
<string>armv7</string>
|
|
@@ -49,5 +47,23 @@
|
|
|
49
47
|
</array>
|
|
50
48
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
51
49
|
<true/>
|
|
50
|
+
<key>UIApplicationSceneManifest</key>
|
|
51
|
+
<dict>
|
|
52
|
+
<key>UIApplicationSupportsMultipleScenes</key>
|
|
53
|
+
<false/>
|
|
54
|
+
<key>UISceneConfigurations</key>
|
|
55
|
+
<dict>
|
|
56
|
+
<key>UIWindowSceneSessionRoleApplication</key>
|
|
57
|
+
<array>
|
|
58
|
+
<dict>
|
|
59
|
+
<key>UISceneConfigurationName</key>
|
|
60
|
+
<string>Default Configuration</string>
|
|
61
|
+
<key>UISceneDelegateClassName</key>
|
|
62
|
+
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
|
|
63
|
+
</dict>
|
|
64
|
+
</array>
|
|
65
|
+
</dict>
|
|
66
|
+
</dict>
|
|
67
|
+
|
|
52
68
|
</dict>
|
|
53
69
|
</plist>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import UIKit
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
|
|
5
|
+
var window: UIWindow?
|
|
6
|
+
|
|
7
|
+
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
|
|
8
|
+
guard let windowScene = scene as? UIWindowScene else { return }
|
|
9
|
+
window = UIWindow(windowScene: windowScene)
|
|
10
|
+
window?.rootViewController = CAPBridgeViewController()
|
|
11
|
+
window?.makeKeyAndVisible()
|
|
12
|
+
|
|
13
|
+
SceneDelegateProxy.shared.scene(scene, willConnectTo: session, options: connectionOptions)
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
|
|
17
|
+
SceneDelegateProxy.shared.scene(scene, openURLContexts: URLContexts)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
|
|
21
|
+
SceneDelegateProxy.shared.scene(scene, continue: userActivity)
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -3,34 +3,31 @@
|
|
|
3
3
|
archiveVersion = 1;
|
|
4
4
|
classes = {
|
|
5
5
|
};
|
|
6
|
-
objectVersion =
|
|
6
|
+
objectVersion = 60;
|
|
7
7
|
objects = {
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
|
+
9582B6832FE993A70072D4E8 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9582B6822FE993A50072D4E8 /* SceneDelegate.swift */; };
|
|
11
|
+
4D22ABE92AF431CB00220026 /* CapApp-SPM in Frameworks */ = {isa = PBXBuildFile; productRef = 4D22ABE82AF431CB00220026 /* CapApp-SPM */; };
|
|
10
12
|
2FAD9763203C412B000D30F8 /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 2FAD9762203C412B000D30F8 /* config.xml */; };
|
|
11
13
|
50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; };
|
|
12
14
|
504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; };
|
|
13
|
-
504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; };
|
|
14
15
|
504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; };
|
|
15
16
|
504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; };
|
|
16
17
|
50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; };
|
|
17
|
-
A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */; };
|
|
18
18
|
/* End PBXBuildFile section */
|
|
19
19
|
|
|
20
20
|
/* Begin PBXFileReference section */
|
|
21
|
+
9582B6822FE993A50072D4E8 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
|
|
21
22
|
2FAD9762203C412B000D30F8 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = config.xml; sourceTree = "<group>"; };
|
|
22
23
|
34ADEF8A2B6C25C900B38C44 /* App.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = App.entitlements; sourceTree = "<group>"; };
|
|
23
24
|
50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = "<group>"; };
|
|
24
25
|
504EC3041FED79650016851F /* App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
25
26
|
504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
|
26
|
-
504EC30C1FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
|
27
27
|
504EC30E1FED79650016851F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
|
28
28
|
504EC3111FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
|
29
29
|
504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
|
30
30
|
50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = "<group>"; };
|
|
31
|
-
AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_App.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
32
|
-
AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.release.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig"; sourceTree = "<group>"; };
|
|
33
|
-
FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.debug.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.debug.xcconfig"; sourceTree = "<group>"; };
|
|
34
31
|
/* End PBXFileReference section */
|
|
35
32
|
|
|
36
33
|
/* Begin PBXFrameworksBuildPhase section */
|
|
@@ -38,7 +35,7 @@
|
|
|
38
35
|
isa = PBXFrameworksBuildPhase;
|
|
39
36
|
buildActionMask = 2147483647;
|
|
40
37
|
files = (
|
|
41
|
-
|
|
38
|
+
4D22ABE92AF431CB00220026 /* CapApp-SPM in Frameworks */,
|
|
42
39
|
);
|
|
43
40
|
runOnlyForDeploymentPostprocessing = 0;
|
|
44
41
|
};
|
|
@@ -48,7 +45,6 @@
|
|
|
48
45
|
27E2DDA53C4D2A4D1A88CE4A /* Frameworks */ = {
|
|
49
46
|
isa = PBXGroup;
|
|
50
47
|
children = (
|
|
51
|
-
AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */,
|
|
52
48
|
);
|
|
53
49
|
name = Frameworks;
|
|
54
50
|
sourceTree = "<group>";
|
|
@@ -58,7 +54,6 @@
|
|
|
58
54
|
children = (
|
|
59
55
|
504EC3061FED79650016851F /* App */,
|
|
60
56
|
504EC3051FED79650016851F /* Products */,
|
|
61
|
-
7F8756D8B27F46E3366F6CEA /* Pods */,
|
|
62
57
|
27E2DDA53C4D2A4D1A88CE4A /* Frameworks */,
|
|
63
58
|
);
|
|
64
59
|
sourceTree = "<group>";
|
|
@@ -77,7 +72,7 @@
|
|
|
77
72
|
34ADEF8A2B6C25C900B38C44 /* App.entitlements */,
|
|
78
73
|
50379B222058CBB4000EE86E /* capacitor.config.json */,
|
|
79
74
|
504EC3071FED79650016851F /* AppDelegate.swift */,
|
|
80
|
-
|
|
75
|
+
9582B6822FE993A50072D4E8 /* SceneDelegate.swift */,
|
|
81
76
|
504EC30E1FED79650016851F /* Assets.xcassets */,
|
|
82
77
|
504EC3101FED79650016851F /* LaunchScreen.storyboard */,
|
|
83
78
|
504EC3131FED79650016851F /* Info.plist */,
|
|
@@ -87,15 +82,6 @@
|
|
|
87
82
|
path = App;
|
|
88
83
|
sourceTree = "<group>";
|
|
89
84
|
};
|
|
90
|
-
7F8756D8B27F46E3366F6CEA /* Pods */ = {
|
|
91
|
-
isa = PBXGroup;
|
|
92
|
-
children = (
|
|
93
|
-
FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */,
|
|
94
|
-
AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */,
|
|
95
|
-
);
|
|
96
|
-
name = Pods;
|
|
97
|
-
sourceTree = "<group>";
|
|
98
|
-
};
|
|
99
85
|
/* End PBXGroup section */
|
|
100
86
|
|
|
101
87
|
/* Begin PBXNativeTarget section */
|
|
@@ -103,18 +89,16 @@
|
|
|
103
89
|
isa = PBXNativeTarget;
|
|
104
90
|
buildConfigurationList = 504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */;
|
|
105
91
|
buildPhases = (
|
|
106
|
-
6634F4EFEBD30273BCE97C65 /* [CP] Check Pods Manifest.lock */,
|
|
107
92
|
504EC3001FED79650016851F /* Sources */,
|
|
108
93
|
504EC3011FED79650016851F /* Frameworks */,
|
|
109
94
|
504EC3021FED79650016851F /* Resources */,
|
|
110
|
-
9592DBEFFC6D2A0C8D5DEB22 /* [CP] Embed Pods Frameworks */,
|
|
111
|
-
7D56AA6606A87F8FA13FB093 /* [CP] Copy Pods Resources */,
|
|
112
95
|
);
|
|
113
96
|
buildRules = (
|
|
114
97
|
);
|
|
115
98
|
dependencies = (
|
|
116
99
|
);
|
|
117
100
|
name = App;
|
|
101
|
+
packageProductDependencies = (4D22ABE82AF431CB00220026 /* CapApp-SPM */);
|
|
118
102
|
productName = App;
|
|
119
103
|
productReference = 504EC3041FED79650016851F /* App.app */;
|
|
120
104
|
productType = "com.apple.product-type.application";
|
|
@@ -144,6 +128,7 @@
|
|
|
144
128
|
Base,
|
|
145
129
|
);
|
|
146
130
|
mainGroup = 504EC2FB1FED79650016851F;
|
|
131
|
+
packageReferences = (D4C12C0A2AAA248700AAC8A2 /* XCLocalSwiftPackageReference "CapApp-SPM" */);
|
|
147
132
|
productRefGroup = 504EC3051FED79650016851F /* Products */;
|
|
148
133
|
projectDirPath = "";
|
|
149
134
|
projectRoot = "";
|
|
@@ -162,63 +147,13 @@
|
|
|
162
147
|
50B271D11FEDC1A000F3C39B /* public in Resources */,
|
|
163
148
|
504EC30F1FED79650016851F /* Assets.xcassets in Resources */,
|
|
164
149
|
50379B232058CBB4000EE86E /* capacitor.config.json in Resources */,
|
|
165
|
-
504EC30D1FED79650016851F /* Main.storyboard in Resources */,
|
|
166
150
|
2FAD9763203C412B000D30F8 /* config.xml in Resources */,
|
|
167
151
|
);
|
|
168
152
|
runOnlyForDeploymentPostprocessing = 0;
|
|
169
153
|
};
|
|
170
154
|
/* End PBXResourcesBuildPhase section */
|
|
171
155
|
|
|
172
|
-
|
|
173
|
-
6634F4EFEBD30273BCE97C65 /* [CP] Check Pods Manifest.lock */ = {
|
|
174
|
-
isa = PBXShellScriptBuildPhase;
|
|
175
|
-
buildActionMask = 2147483647;
|
|
176
|
-
files = (
|
|
177
|
-
);
|
|
178
|
-
inputPaths = (
|
|
179
|
-
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
|
180
|
-
"${PODS_ROOT}/Manifest.lock",
|
|
181
|
-
);
|
|
182
|
-
name = "[CP] Check Pods Manifest.lock";
|
|
183
|
-
outputPaths = (
|
|
184
|
-
"$(DERIVED_FILE_DIR)/Pods-App-checkManifestLockResult.txt",
|
|
185
|
-
);
|
|
186
|
-
runOnlyForDeploymentPostprocessing = 0;
|
|
187
|
-
shellPath = /bin/sh;
|
|
188
|
-
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
|
189
|
-
showEnvVarsInLog = 0;
|
|
190
|
-
};
|
|
191
|
-
7D56AA6606A87F8FA13FB093 /* [CP] Copy Pods Resources */ = {
|
|
192
|
-
isa = PBXShellScriptBuildPhase;
|
|
193
|
-
buildActionMask = 2147483647;
|
|
194
|
-
files = (
|
|
195
|
-
);
|
|
196
|
-
inputPaths = (
|
|
197
|
-
);
|
|
198
|
-
name = "[CP] Copy Pods Resources";
|
|
199
|
-
outputPaths = (
|
|
200
|
-
);
|
|
201
|
-
runOnlyForDeploymentPostprocessing = 0;
|
|
202
|
-
shellPath = /bin/sh;
|
|
203
|
-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-resources.sh\"\n";
|
|
204
|
-
showEnvVarsInLog = 0;
|
|
205
|
-
};
|
|
206
|
-
9592DBEFFC6D2A0C8D5DEB22 /* [CP] Embed Pods Frameworks */ = {
|
|
207
|
-
isa = PBXShellScriptBuildPhase;
|
|
208
|
-
buildActionMask = 2147483647;
|
|
209
|
-
files = (
|
|
210
|
-
);
|
|
211
|
-
inputPaths = (
|
|
212
|
-
);
|
|
213
|
-
name = "[CP] Embed Pods Frameworks";
|
|
214
|
-
outputPaths = (
|
|
215
|
-
);
|
|
216
|
-
runOnlyForDeploymentPostprocessing = 0;
|
|
217
|
-
shellPath = /bin/sh;
|
|
218
|
-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-frameworks.sh\"\n";
|
|
219
|
-
showEnvVarsInLog = 0;
|
|
220
|
-
};
|
|
221
|
-
/* End PBXShellScriptBuildPhase section */
|
|
156
|
+
|
|
222
157
|
|
|
223
158
|
/* Begin PBXSourcesBuildPhase section */
|
|
224
159
|
504EC3001FED79650016851F /* Sources */ = {
|
|
@@ -226,20 +161,13 @@
|
|
|
226
161
|
buildActionMask = 2147483647;
|
|
227
162
|
files = (
|
|
228
163
|
504EC3081FED79650016851F /* AppDelegate.swift in Sources */,
|
|
164
|
+
9582B6832FE993A70072D4E8 /* SceneDelegate.swift in Sources */,
|
|
229
165
|
);
|
|
230
166
|
runOnlyForDeploymentPostprocessing = 0;
|
|
231
167
|
};
|
|
232
168
|
/* End PBXSourcesBuildPhase section */
|
|
233
169
|
|
|
234
170
|
/* Begin PBXVariantGroup section */
|
|
235
|
-
504EC30B1FED79650016851F /* Main.storyboard */ = {
|
|
236
|
-
isa = PBXVariantGroup;
|
|
237
|
-
children = (
|
|
238
|
-
504EC30C1FED79650016851F /* Base */,
|
|
239
|
-
);
|
|
240
|
-
name = Main.storyboard;
|
|
241
|
-
sourceTree = "<group>";
|
|
242
|
-
};
|
|
243
171
|
504EC3101FED79650016851F /* LaunchScreen.storyboard */ = {
|
|
244
172
|
isa = PBXVariantGroup;
|
|
245
173
|
children = (
|
|
@@ -304,6 +232,7 @@
|
|
|
304
232
|
ONLY_ACTIVE_ARCH = YES;
|
|
305
233
|
SDKROOT = iphoneos;
|
|
306
234
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
235
|
+
CAPACITOR_DEBUG = true;
|
|
307
236
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
308
237
|
};
|
|
309
238
|
name = Debug;
|
|
@@ -360,7 +289,6 @@
|
|
|
360
289
|
};
|
|
361
290
|
504EC3171FED79650016851F /* Debug */ = {
|
|
362
291
|
isa = XCBuildConfiguration;
|
|
363
|
-
baseConfigurationReference = FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */;
|
|
364
292
|
buildSettings = {
|
|
365
293
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
366
294
|
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
|
|
@@ -370,10 +298,10 @@
|
|
|
370
298
|
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
|
371
299
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
|
372
300
|
MARKETING_VERSION = 1.0;
|
|
373
|
-
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
|
|
374
301
|
PRODUCT_BUNDLE_IDENTIFIER = com.regula.example.face.capacitor;
|
|
375
302
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
376
303
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
304
|
+
CAPACITOR_DEBUG = true;
|
|
377
305
|
SWIFT_VERSION = 5.0;
|
|
378
306
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
379
307
|
};
|
|
@@ -381,7 +309,6 @@
|
|
|
381
309
|
};
|
|
382
310
|
504EC3181FED79650016851F /* Release */ = {
|
|
383
311
|
isa = XCBuildConfiguration;
|
|
384
|
-
baseConfigurationReference = AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */;
|
|
385
312
|
buildSettings = {
|
|
386
313
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
387
314
|
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
|
|
@@ -421,6 +348,19 @@
|
|
|
421
348
|
defaultConfigurationName = Release;
|
|
422
349
|
};
|
|
423
350
|
/* End XCConfigurationList section */
|
|
351
|
+
/* Begin XCLocalSwiftPackageReference section */
|
|
352
|
+
D4C12C0A2AAA248700AAC8A2 /* XCLocalSwiftPackageReference "CapApp-SPM" */ = {
|
|
353
|
+
isa = XCLocalSwiftPackageReference;
|
|
354
|
+
relativePath = "CapApp-SPM";
|
|
355
|
+
};
|
|
356
|
+
/* End XCLocalSwiftPackageReference section */
|
|
357
|
+
/* Begin XCSwiftPackageProductDependency section */
|
|
358
|
+
4D22ABE82AF431CB00220026 /* CapApp-SPM */ = {
|
|
359
|
+
isa = XCSwiftPackageProductDependency;
|
|
360
|
+
package = D4C12C0A2AAA248700AAC8A2 /* XCLocalSwiftPackageReference "CapApp-SPM" */;
|
|
361
|
+
productName = "CapApp-SPM";
|
|
362
|
+
};
|
|
363
|
+
/* End XCSwiftPackageProductDependency section */
|
|
424
364
|
};
|
|
425
365
|
rootObject = 504EC2FC1FED79650016851F /* Project object */;
|
|
426
366
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
public let isCapacitorApp = true
|
|
@@ -6,25 +6,20 @@
|
|
|
6
6
|
"android": "scripts/android.sh"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@regulaforensics/face-sdk": "8.4.
|
|
10
|
-
"@regulaforensics/face-core-basic": "8.4.
|
|
11
|
-
"@awesome-cordova-plugins/file": "^8.1.0",
|
|
12
|
-
"@awesome-cordova-plugins/camera": "^8.1.0",
|
|
13
|
-
"cordova-plugin-file": "^8.1.3",
|
|
14
|
-
"cordova-plugin-camera": "^8.0.0",
|
|
15
|
-
"@capacitor/cli": "^8.0.0",
|
|
16
|
-
"@capacitor/core": "^8.0.0",
|
|
17
|
-
"@capacitor/app": "^8.0.0",
|
|
18
|
-
"@capacitor/ios": "^8.0.0",
|
|
19
|
-
"@capacitor/android": "^8.0.0",
|
|
9
|
+
"@regulaforensics/face-sdk": "8.4.1402-beta",
|
|
10
|
+
"@regulaforensics/face-core-basic": "8.4.854-beta",
|
|
20
11
|
"@capacitor/dialog": "^8.0.0",
|
|
21
|
-
"@capacitor/
|
|
22
|
-
"@
|
|
23
|
-
"@
|
|
24
|
-
"
|
|
25
|
-
"@
|
|
12
|
+
"@capacitor/cli": "^8.5.2",
|
|
13
|
+
"@capacitor/core": "^8.5.2",
|
|
14
|
+
"@capacitor/ios": "^8.5.2",
|
|
15
|
+
"@capacitor/android": "^8.5.2",
|
|
16
|
+
"@capacitor/camera": "^8.2.4",
|
|
17
|
+
"vite": "^8.3.0"
|
|
26
18
|
},
|
|
27
19
|
"overrides": {
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
}
|
|
20
|
+
"xcode": {
|
|
21
|
+
"uuid": "^11.1.1"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"type": "module"
|
|
25
|
+
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
set -e
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
fi
|
|
10
|
-
|
|
11
|
-
exit 0
|
|
4
|
+
vite build
|
|
5
|
+
npx cap sync android
|
|
6
|
+
[[ " $* " == *" --open "* || " $* " == *" -o "* ]] &&
|
|
7
|
+
npx cap open android ||
|
|
8
|
+
npx cap run android --no-sync
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
set -e
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exit 0
|
|
4
|
+
vite build
|
|
5
|
+
npx cap sync ios
|
|
6
|
+
[[ " $* " == *" --open "* || " $* " == *" -o "* ]] &&
|
|
7
|
+
npx cap open ios ||
|
|
8
|
+
npx cap run ios --no-sync
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
html,
|
|
2
2
|
body {
|
|
3
3
|
margin: 0;
|
|
4
|
+
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Roboto, sans-serif;
|
|
4
5
|
width: 100%;
|
|
5
6
|
height: 99vh;
|
|
6
7
|
display: flex;
|
|
@@ -134,4 +135,7 @@ input[type="checkbox"] {
|
|
|
134
135
|
height: 20px;
|
|
135
136
|
background-color: #4285F4;
|
|
136
137
|
border-radius: 5px;
|
|
137
|
-
}
|
|
138
|
+
}
|
|
139
|
+
* {
|
|
140
|
+
box-sizing: border-box;
|
|
141
|
+
}
|
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
import react from '@vitejs/plugin-react'
|
|
2
1
|
import { defineConfig } from 'vite'
|
|
3
|
-
import { viteStaticCopy } from 'vite-plugin-static-copy';
|
|
4
2
|
|
|
5
3
|
export default defineConfig({
|
|
6
|
-
plugins: [
|
|
7
|
-
react(),
|
|
8
|
-
viteStaticCopy({
|
|
9
|
-
targets: [
|
|
10
|
-
{
|
|
11
|
-
src: 'src/main.html',
|
|
12
|
-
dest: '.'
|
|
13
|
-
}
|
|
14
|
-
]
|
|
15
|
-
})],
|
|
16
4
|
build: { outDir: 'www' }
|
|
17
5
|
})
|
package/examples/ionic/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Regula Face SDK Ionic demo application
|
|
2
2
|
|
|
3
|
+
Requires Node.js 22+, Xcode 26+, Android Studio with JDK 17 and Android SDK 36.
|
|
4
|
+
|
|
3
5
|
## How to build demo application
|
|
4
6
|
1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/npm-face-sdk.git`.
|
|
5
7
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</edit-config>
|
|
13
13
|
</platform>
|
|
14
14
|
<platform name="ios">
|
|
15
|
-
<preference name="deployment-target" value="
|
|
15
|
+
<preference name="deployment-target" value="15.0" />
|
|
16
16
|
<preference name="orientation" value="portrait" />
|
|
17
17
|
<allow-intent href="itms:*" />
|
|
18
18
|
<allow-intent href="itms-apps:*" />
|
package/examples/ionic/index.tsx
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import 'zone.js';
|
|
2
2
|
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
|
|
3
3
|
import { BrowserModule } from '@angular/platform-browser'
|
|
4
|
-
import { IonicModule
|
|
5
|
-
import {
|
|
4
|
+
import { IonicModule } from '@ionic/angular/lazy'
|
|
5
|
+
import { Platform } from '@ionic/angular'
|
|
6
|
+
import { NgModule, provideZoneChangeDetection } from '@angular/core'
|
|
6
7
|
|
|
7
8
|
import { Component } from '@angular/core'
|
|
8
9
|
import { File } from '@awesome-cordova-plugins/file'
|
|
@@ -47,6 +48,7 @@ var cameraInstance: Camera
|
|
|
47
48
|
var dialogsInstance: Dialogs
|
|
48
49
|
@Component({
|
|
49
50
|
selector: 'app-root',
|
|
51
|
+
standalone: false,
|
|
50
52
|
templateUrl: 'src/main.html',
|
|
51
53
|
styleUrl: 'src/main.css'
|
|
52
54
|
})
|
|
@@ -64,9 +66,12 @@ class Main {
|
|
|
64
66
|
|
|
65
67
|
@NgModule({
|
|
66
68
|
bootstrap: [Main],
|
|
69
|
+
declarations: [Main],
|
|
67
70
|
providers: [Platform, Camera, Dialogs],
|
|
68
71
|
imports: [BrowserModule, IonicModule.forRoot()]
|
|
69
72
|
})
|
|
70
73
|
class MainModule { }
|
|
71
74
|
|
|
72
|
-
platformBrowserDynamic().bootstrapModule(MainModule
|
|
75
|
+
platformBrowserDynamic().bootstrapModule(MainModule, {
|
|
76
|
+
applicationProviders: [provideZoneChangeDetection()]
|
|
77
|
+
})
|