10
0

Compare commits

...

2 Commits

Author SHA1 Message Date
da88d5d0cf [MWI-3386] Meta Integration Demo: Update auf Meta Plugin 21.2.2
{ Increased Minimal Deployment iOS Version to iOS 15; Removed < iOS15-related code }
2025-12-04 19:13:08 +01:00
f58a6360b3 [MWI-3386] Meta Integration Demo: Update auf Meta Plugin 21.2.2 2025-12-04 16:40:28 +01:00
6 changed files with 96 additions and 102 deletions

View File

@ -7,14 +7,14 @@
objects = {
/* Begin PBXBuildFile section */
4518C54D2EE1B6B20051D965 /* WebIdAutoIdProductPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 4518C54C2EE1B6B20051D965 /* WebIdAutoIdProductPlugin */; };
4518C5502EE1B6DA0051D965 /* WebIdEIdProductPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 4518C54F2EE1B6DA0051D965 /* WebIdEIdProductPlugin */; };
4518C5532EE1B6F50051D965 /* WebIdVideoIdProductPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 4518C5522EE1B6F50051D965 /* WebIdVideoIdProductPlugin */; };
4518C5562EE1B7520051D965 /* WebIdAccountIdProductPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 4518C5552EE1B7520051D965 /* WebIdAccountIdProductPlugin */; };
4C40CAAA291A6DE700D76323 /* EWebIdEnv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C40CAA9291A6DE700D76323 /* EWebIdEnv.swift */; };
4C40CABB291A717000D76323 /* CustomizedPluginTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C40CABA291A717000D76323 /* CustomizedPluginTheme.swift */; };
4C40CABD291A718D00D76323 /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = 4C40CABC291A718D00D76323 /* LICENSE.txt */; };
4C4DEF962BB56D5F00F28680 /* WebIdMetaPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 4C4DEF952BB56D5F00F28680 /* WebIdMetaPlugin */; };
4C4DEF982BB56D5F00F28680 /* WebIdPayOnServerProductPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 4C4DEF972BB56D5F00F28680 /* WebIdPayOnServerProductPlugin */; };
4C4DEF9A2BB56D5F00F28680 /* WebIdEIdOnServerProductPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 4C4DEF992BB56D5F00F28680 /* WebIdEIdOnServerProductPlugin */; };
4C4DEF9C2BB56D5F00F28680 /* WebIdAutoIdentOnServerProductPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 4C4DEF9B2BB56D5F00F28680 /* WebIdAutoIdentOnServerProductPlugin */; };
4C62C1D42BB577CD0070AA6F /* WebIdVideoIdentProductPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 4C62C1D32BB577CD0070AA6F /* WebIdVideoIdentProductPlugin */; };
4C63AACE288193F10046A02E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C63AACD288193F10046A02E /* AppDelegate.swift */; };
4C63AAD0288193F10046A02E /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C63AACF288193F10046A02E /* SceneDelegate.swift */; };
4C63AAD2288193F10046A02E /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C63AAD1288193F10046A02E /* ViewController.swift */; };
@ -120,11 +120,11 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4C4DEF982BB56D5F00F28680 /* WebIdPayOnServerProductPlugin in Frameworks */,
4C4DEF9A2BB56D5F00F28680 /* WebIdEIdOnServerProductPlugin in Frameworks */,
4518C5562EE1B7520051D965 /* WebIdAccountIdProductPlugin in Frameworks */,
4518C5532EE1B6F50051D965 /* WebIdVideoIdProductPlugin in Frameworks */,
4C4DEF962BB56D5F00F28680 /* WebIdMetaPlugin in Frameworks */,
4C4DEF9C2BB56D5F00F28680 /* WebIdAutoIdentOnServerProductPlugin in Frameworks */,
4C62C1D42BB577CD0070AA6F /* WebIdVideoIdentProductPlugin in Frameworks */,
4518C5502EE1B6DA0051D965 /* WebIdEIdProductPlugin in Frameworks */,
4518C54D2EE1B6B20051D965 /* WebIdAutoIdProductPlugin in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -253,10 +253,10 @@
name = MetaPluginDemo;
packageProductDependencies = (
4C4DEF952BB56D5F00F28680 /* WebIdMetaPlugin */,
4C4DEF972BB56D5F00F28680 /* WebIdPayOnServerProductPlugin */,
4C4DEF992BB56D5F00F28680 /* WebIdEIdOnServerProductPlugin */,
4C4DEF9B2BB56D5F00F28680 /* WebIdAutoIdentOnServerProductPlugin */,
4C62C1D32BB577CD0070AA6F /* WebIdVideoIdentProductPlugin */,
4518C54C2EE1B6B20051D965 /* WebIdAutoIdProductPlugin */,
4518C54F2EE1B6DA0051D965 /* WebIdEIdProductPlugin */,
4518C5522EE1B6F50051D965 /* WebIdVideoIdProductPlugin */,
4518C5552EE1B7520051D965 /* WebIdAccountIdProductPlugin */,
);
productName = MetaPluginDemo;
productReference = 4C63AACA288193F10046A02E /* MetaPluginDemo.app */;
@ -340,10 +340,10 @@
mainGroup = 4C63AAC1288193F10046A02E;
packageReferences = (
C8B6F1CD2BB467E50023D2BF /* XCRemoteSwiftPackageReference "webid-meta-plugin-spm" */,
C8B6F1CE2BB468100023D2BF /* XCRemoteSwiftPackageReference "webid-pay-on-server-product-plugin-spm" */,
C8B6F1CF2BB4682D0023D2BF /* XCRemoteSwiftPackageReference "webid-eid-on-server-product-plugin-spm" */,
C8B6F1D02BB468600023D2BF /* XCRemoteSwiftPackageReference "webid-auto-ident-on-server-product-plugin-spm" */,
4C62C1D22BB577B70070AA6F /* XCRemoteSwiftPackageReference "webid-video-ident-product-plugin-spm" */,
4518C54B2EE1B6B20051D965 /* XCRemoteSwiftPackageReference "webid-autoid-product-plugin-spm" */,
4518C54E2EE1B6DA0051D965 /* XCRemoteSwiftPackageReference "webid-eid-product-plugin-spm" */,
4518C5512EE1B6F50051D965 /* XCRemoteSwiftPackageReference "webid-videoid-product-plugin-spm" */,
4518C5542EE1B7520051D965 /* XCRemoteSwiftPackageReference "webid-accountid-product-plugin-spm" */,
);
productRefGroup = 4C63AACB288193F10046A02E /* Products */;
projectDirPath = "";
@ -557,7 +557,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
@ -612,7 +612,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
@ -796,12 +796,36 @@
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
4C62C1D22BB577B70070AA6F /* XCRemoteSwiftPackageReference "webid-video-ident-product-plugin-spm" */ = {
4518C54B2EE1B6B20051D965 /* XCRemoteSwiftPackageReference "webid-autoid-product-plugin-spm" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-video-ident-product-plugin-spm";
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-autoid-product-plugin-spm";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 15.0.0;
minimumVersion = 21.2.2;
};
};
4518C54E2EE1B6DA0051D965 /* XCRemoteSwiftPackageReference "webid-eid-product-plugin-spm" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-eid-product-plugin-spm";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 21.2.2;
};
};
4518C5512EE1B6F50051D965 /* XCRemoteSwiftPackageReference "webid-videoid-product-plugin-spm" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-videoid-product-plugin-spm";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 21.2.2;
};
};
4518C5542EE1B7520051D965 /* XCRemoteSwiftPackageReference "webid-accountid-product-plugin-spm" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-accountid-product-plugin-spm";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 21.2.2;
};
};
C8B6F1CD2BB467E50023D2BF /* XCRemoteSwiftPackageReference "webid-meta-plugin-spm" */ = {
@ -809,61 +833,37 @@
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-meta-plugin-spm.git";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 15.0.0;
};
};
C8B6F1CE2BB468100023D2BF /* XCRemoteSwiftPackageReference "webid-pay-on-server-product-plugin-spm" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-pay-on-server-product-plugin-spm.git";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 15.0.0;
};
};
C8B6F1CF2BB4682D0023D2BF /* XCRemoteSwiftPackageReference "webid-eid-on-server-product-plugin-spm" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-eid-on-server-product-plugin-spm.git";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 15.0.0;
};
};
C8B6F1D02BB468600023D2BF /* XCRemoteSwiftPackageReference "webid-auto-ident-on-server-product-plugin-spm" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-auto-ident-on-server-product-plugin-spm.git";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 15.0.0;
minimumVersion = 21.2.2;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
4518C54C2EE1B6B20051D965 /* WebIdAutoIdProductPlugin */ = {
isa = XCSwiftPackageProductDependency;
package = 4518C54B2EE1B6B20051D965 /* XCRemoteSwiftPackageReference "webid-autoid-product-plugin-spm" */;
productName = WebIdAutoIdProductPlugin;
};
4518C54F2EE1B6DA0051D965 /* WebIdEIdProductPlugin */ = {
isa = XCSwiftPackageProductDependency;
package = 4518C54E2EE1B6DA0051D965 /* XCRemoteSwiftPackageReference "webid-eid-product-plugin-spm" */;
productName = WebIdEIdProductPlugin;
};
4518C5522EE1B6F50051D965 /* WebIdVideoIdProductPlugin */ = {
isa = XCSwiftPackageProductDependency;
package = 4518C5512EE1B6F50051D965 /* XCRemoteSwiftPackageReference "webid-videoid-product-plugin-spm" */;
productName = WebIdVideoIdProductPlugin;
};
4518C5552EE1B7520051D965 /* WebIdAccountIdProductPlugin */ = {
isa = XCSwiftPackageProductDependency;
package = 4518C5542EE1B7520051D965 /* XCRemoteSwiftPackageReference "webid-accountid-product-plugin-spm" */;
productName = WebIdAccountIdProductPlugin;
};
4C4DEF952BB56D5F00F28680 /* WebIdMetaPlugin */ = {
isa = XCSwiftPackageProductDependency;
package = C8B6F1CD2BB467E50023D2BF /* XCRemoteSwiftPackageReference "webid-meta-plugin-spm" */;
productName = WebIdMetaPlugin;
};
4C4DEF972BB56D5F00F28680 /* WebIdPayOnServerProductPlugin */ = {
isa = XCSwiftPackageProductDependency;
package = C8B6F1CE2BB468100023D2BF /* XCRemoteSwiftPackageReference "webid-pay-on-server-product-plugin-spm" */;
productName = WebIdPayOnServerProductPlugin;
};
4C4DEF992BB56D5F00F28680 /* WebIdEIdOnServerProductPlugin */ = {
isa = XCSwiftPackageProductDependency;
package = C8B6F1CF2BB4682D0023D2BF /* XCRemoteSwiftPackageReference "webid-eid-on-server-product-plugin-spm" */;
productName = WebIdEIdOnServerProductPlugin;
};
4C4DEF9B2BB56D5F00F28680 /* WebIdAutoIdentOnServerProductPlugin */ = {
isa = XCSwiftPackageProductDependency;
package = C8B6F1D02BB468600023D2BF /* XCRemoteSwiftPackageReference "webid-auto-ident-on-server-product-plugin-spm" */;
productName = WebIdAutoIdentOnServerProductPlugin;
};
4C62C1D32BB577CD0070AA6F /* WebIdVideoIdentProductPlugin */ = {
isa = XCSwiftPackageProductDependency;
package = 4C62C1D22BB577B70070AA6F /* XCRemoteSwiftPackageReference "webid-video-ident-product-plugin-spm" */;
productName = WebIdVideoIdentProductPlugin;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 4C63AAC2288193F10046A02E /* Project object */;

View File

@ -15,14 +15,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// MARK: UISceneSession Lifecycle
@available(iOS 13.0, *)
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
}
@available(iOS 13.0, *)
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.

View File

@ -11,16 +11,20 @@ import WebIdUiKitComponents
class CustomizedPluginTheme {
/**
* Creates a ``WebidAppTheme`` to use in light mode or, if older than iOS 13.0, standard mode.
* Creates a ``WebIdThemeV4`` to use in light mode or standard mode.
*/
internal static func getLightVersion() -> WebidAppTheme {
WebidAppTheme()
internal static func getLightVersion() -> WebIdThemeV4 {
WebIdThemeV4.makeLightTheme { config in
// customize theming here
}
}
/**
* Creates a ``WebidAppTheme`` to use in dark mode.
* Creates a ``WebIdThemeV4`` to use in dark mode.
*/
internal static func getDarkVersion() -> WebidAppTheme {
WebidAppTheme()
internal static func getDarkVersion() -> WebIdThemeV4 {
WebIdThemeV4.makeDarkTheme { config in
// customize theming here
}
}
}

View File

@ -9,15 +9,13 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
@available(iOS 13.0, *)
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
guard let _ = (scene as? UIWindowScene) else { return }
}
@available(iOS 13.0, *)
func sceneDidDisconnect(_ scene: UIScene) {
// Called as the scene is being released by the system.
// This occurs shortly after the scene enters the background, or when its session is discarded.
@ -25,31 +23,25 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
// The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
}
@available(iOS 13.0, *)
func sceneDidBecomeActive(_ scene: UIScene) {
// Called when the scene has moved from an inactive state to an active state.
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
}
@available(iOS 13.0, *)
func sceneWillResignActive(_ scene: UIScene) {
// Called when the scene will move from an active state to an inactive state.
// This may occur due to temporary interruptions (ex. an incoming phone call).
}
@available(iOS 13.0, *)
func sceneWillEnterForeground(_ scene: UIScene) {
// Called as the scene transitions from the background to the foreground.
// Use this method to undo the changes made on entering the background.
}
@available(iOS 13.0, *)
func sceneDidEnterBackground(_ scene: UIScene) {
// Called as the scene transitions from the foreground to the background.
// Use this method to save data, release shared resources, and store enough scene-specific state information
// to restore the scene back to its current state.
}
}

View File

@ -5,15 +5,15 @@
import UIKit
import WebIdIosSdk
import WebIdUiKitComponents
import WebIdPluginCore
import WebIdMetaPlugin
import WebIdUiKitComponents
import WebIdVideoIdentProductPlugin
import WebIdPayOnServerProductPlugin
import WebIdEIdOnServerProductPlugin
import WebIdAutoIdentOnServerProductPlugin
import WebIdVideoIdProductPlugin
import WebIdAccountIdProductPlugin
import WebIdEIdProductPlugin
import WebIdAutoIdProductPlugin
/// Demo App which starts the ``VideoIdentProductPlugin`` and handles its result
/// Demo App which starts the ``VideoIdProductPlugin`` and handles its result
class ViewController:
UIViewController,
IProductPluginWebidDelegate {
@ -149,7 +149,7 @@ class ViewController:
additionalResult: String?,
faultOriginator: String
) {
if let container = failreasonContainer as? AutoIdOnServerProductPluginFailReasonContainer {
if let container = failreasonContainer as? AutoIdProductPluginFailReasonContainer {
writeLog(entry: "\(L10n.productJourneyFinishedWithFailure) \(container.failreason)")
}
}
@ -174,16 +174,16 @@ class ViewController:
private func getChosenPlugins() -> [any IProductPluginWebId] {
var plugins = [any IProductPluginWebId]()
if cbAutoIdOnServer.isChecked {
plugins.append(AutoIdentOnServerProductPlugin())
plugins.append(AutoIdProductPlugin())
}
if cbPayOnServer.isChecked {
plugins.append(PayOnServerProductPlugin())
plugins.append(AccountIdProductPlugin())
}
if cbEIdOnServer.isChecked {
plugins.append(EidOnServerProductPlugin())
plugins.append(EIdProductPlugin())
}
if cbViPP.isChecked {
plugins.append(VideoIdentProductPlugin())
plugins.append(VideoIdProductPlugin())
}
return plugins
}

View File

@ -16,7 +16,7 @@ You should have been supplied with a username and an api-key for your environmen
Replace the placeholders in the Credentials class.</br>
In order to run a video-ident process, you will need to create it first outside of the app.
In order to run a VideoID process, you will need to create it first outside of the app.
From the process creation request to the server, you should have received an action-id, consisting of 9 numbers.
Insert this number in the Credentials class, by replacing the placeholder string with the action-id as a string.</br>
@ -46,12 +46,12 @@ To implement or experiment with different themes, navigate to the file Customize
E.G.
```
internal static func getLightVersion() -> WebidAppTheme {
WebidAppTheme(
Background: UIColor.blue,
PrimaryColor: UI.Color.cyan
)
}
internal static func getLightVersion() -> WebIdThemeV4 {
WebIdThemeV4.makeLightTheme { config in
config.colors.action.primary = .red
config.colors.background.primary = .blue
}
}
```
Consult the theming guide to see what items can be manipulated.</br>