9
0

[MWI-3206] MetaPlugin-Integration-Demo aktualisieren

This commit is contained in:
Norbert Wahl 2025-07-22 16:41:07 +02:00
parent 54b1730e9e
commit efecfe24dd
4 changed files with 62 additions and 54 deletions

View File

@ -681,7 +681,7 @@
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-video-ident-product-plugin-spm";
requirement = { requirement = {
kind = upToNextMinorVersion; kind = upToNextMinorVersion;
minimumVersion = 13.4.2; minimumVersion = 15.0.0;
}; };
}; };
C8B6F1CD2BB467E50023D2BF /* XCRemoteSwiftPackageReference "webid-meta-plugin-spm" */ = { C8B6F1CD2BB467E50023D2BF /* XCRemoteSwiftPackageReference "webid-meta-plugin-spm" */ = {
@ -689,7 +689,7 @@
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-meta-plugin-spm.git"; repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-meta-plugin-spm.git";
requirement = { requirement = {
kind = upToNextMinorVersion; kind = upToNextMinorVersion;
minimumVersion = 13.4.2; minimumVersion = 15.0.0;
}; };
}; };
C8B6F1CE2BB468100023D2BF /* XCRemoteSwiftPackageReference "webid-pay-on-server-product-plugin-spm" */ = { C8B6F1CE2BB468100023D2BF /* XCRemoteSwiftPackageReference "webid-pay-on-server-product-plugin-spm" */ = {
@ -697,7 +697,7 @@
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-pay-on-server-product-plugin-spm.git"; repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-pay-on-server-product-plugin-spm.git";
requirement = { requirement = {
kind = upToNextMinorVersion; kind = upToNextMinorVersion;
minimumVersion = 13.4.2; minimumVersion = 15.0.0;
}; };
}; };
C8B6F1CF2BB4682D0023D2BF /* XCRemoteSwiftPackageReference "webid-eid-on-server-product-plugin-spm" */ = { C8B6F1CF2BB4682D0023D2BF /* XCRemoteSwiftPackageReference "webid-eid-on-server-product-plugin-spm" */ = {
@ -705,7 +705,7 @@
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-eid-on-server-product-plugin-spm.git"; repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-eid-on-server-product-plugin-spm.git";
requirement = { requirement = {
kind = upToNextMinorVersion; kind = upToNextMinorVersion;
minimumVersion = 13.4.2; minimumVersion = 15.0.0;
}; };
}; };
C8B6F1D02BB468600023D2BF /* XCRemoteSwiftPackageReference "webid-auto-ident-on-server-product-plugin-spm" */ = { C8B6F1D02BB468600023D2BF /* XCRemoteSwiftPackageReference "webid-auto-ident-on-server-product-plugin-spm" */ = {
@ -713,7 +713,7 @@
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-auto-ident-on-server-product-plugin-spm.git"; repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-auto-ident-on-server-product-plugin-spm.git";
requirement = { requirement = {
kind = upToNextMinorVersion; kind = upToNextMinorVersion;
minimumVersion = 13.4.2; minimumVersion = 15.0.0;
}; };
}; };
/* End XCRemoteSwiftPackageReference section */ /* End XCRemoteSwiftPackageReference section */

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
<device id="retina6_1" orientation="portrait" appearance="light"/> <device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@ -40,25 +40,16 @@
<rect key="frame" x="16" y="109" width="382" height="661"/> <rect key="frame" x="16" y="109" width="382" height="661"/>
<subviews> <subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="dfm-OY-YAc"> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="dfm-OY-YAc">
<rect key="frame" x="0.0" y="0.0" width="382" height="627.5"/> <rect key="frame" x="0.0" y="0.0" width="382" height="441"/>
<subviews> <subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Choose Mode:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="f2n-za-HjY"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Choose Plugins to add:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Hsv-Sx-aLI">
<rect key="frame" x="0.0" y="0.0" width="382" height="20.5"/> <rect key="frame" x="0.0" y="0.0" width="382" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/> <fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/> <nil key="textColor"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ubY-TI-odM" userLabel="mode_picker">
<rect key="frame" x="0.0" y="20.5" width="382" height="216"/>
</pickerView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Choose Plugins to add:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Hsv-Sx-aLI">
<rect key="frame" x="0.0" y="236.5" width="382" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rQ9-1q-btO" userLabel="checkbox_1" customClass="Checkbox" customModule="WebIdUiKitComponents"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rQ9-1q-btO" userLabel="checkbox_1" customClass="Checkbox" customModule="WebIdUiKitComponents">
<rect key="frame" x="0.0" y="257" width="382" height="50"/> <rect key="frame" x="0.0" y="20.5" width="382" height="50"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="50" id="Y6l-mg-qC3"/> <constraint firstAttribute="height" constant="50" id="Y6l-mg-qC3"/>
@ -89,14 +80,14 @@
<userDefinedRuntimeAttribute type="string" keyPath="borderStyle" value="square"/> <userDefinedRuntimeAttribute type="string" keyPath="borderStyle" value="square"/>
<userDefinedRuntimeAttribute type="string" keyPath="markStyle" value="check"/> <userDefinedRuntimeAttribute type="string" keyPath="markStyle" value="check"/>
<userDefinedRuntimeAttribute type="number" keyPath="borderWidth"> <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
<real key="value" value="2"/> <integer key="value" value="2"/>
</userDefinedRuntimeAttribute> </userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="string" keyPath="translationToken" value="message3StartCall"/> <userDefinedRuntimeAttribute type="string" keyPath="translationToken" value="message3StartCall"/>
<userDefinedRuntimeAttribute type="boolean" keyPath="localizable" value="YES"/> <userDefinedRuntimeAttribute type="boolean" keyPath="localizable" value="YES"/>
</userDefinedRuntimeAttributes> </userDefinedRuntimeAttributes>
</view> </view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tiV-0b-ogq" userLabel="checkbox_2" customClass="Checkbox" customModule="WebIdUiKitComponents"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tiV-0b-ogq" userLabel="checkbox_2" customClass="Checkbox" customModule="WebIdUiKitComponents">
<rect key="frame" x="0.0" y="307" width="382" height="50"/> <rect key="frame" x="0.0" y="70.5" width="382" height="50"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="50" id="yax-7R-Zk2"/> <constraint firstAttribute="height" constant="50" id="yax-7R-Zk2"/>
@ -134,7 +125,7 @@
</userDefinedRuntimeAttributes> </userDefinedRuntimeAttributes>
</view> </view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8UN-U2-rDK" userLabel="checkbox_4" customClass="Checkbox" customModule="WebIdUiKitComponents"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8UN-U2-rDK" userLabel="checkbox_4" customClass="Checkbox" customModule="WebIdUiKitComponents">
<rect key="frame" x="0.0" y="357" width="382" height="50"/> <rect key="frame" x="0.0" y="120.5" width="382" height="50"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="50" id="tdo-nd-wwz"/> <constraint firstAttribute="height" constant="50" id="tdo-nd-wwz"/>
@ -171,14 +162,53 @@
<userDefinedRuntimeAttribute type="boolean" keyPath="localizable" value="YES"/> <userDefinedRuntimeAttribute type="boolean" keyPath="localizable" value="YES"/>
</userDefinedRuntimeAttributes> </userDefinedRuntimeAttributes>
</view> </view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e67-EL-qyu" userLabel="checkbox_5" customClass="Checkbox" customModule="WebIdUiKitComponents">
<rect key="frame" x="0.0" y="170.5" width="382" height="50"/>
<viewLayoutGuide key="safeArea" id="Cs3-bm-tOj"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="KWe-mr-MdJ"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="color" keyPath="checkmarkColor">
<color key="value" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="color" keyPath="uncheckedColor">
<color key="value" red="0.019607843140000001" green="0.69411764710000001" blue="0.98431372549999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="fontSize">
<real key="value" value="15"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="topMargin">
<real key="value" value="8"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="dimension">
<real key="value" value="20"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="color" keyPath="fontColor">
<color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="boolean" keyPath="solidWhenChecked" value="YES"/>
<userDefinedRuntimeAttribute type="color" keyPath="checkedColor">
<color key="value" red="0.019607843140000001" green="0.69411764710000001" blue="0.98431372549999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="string" keyPath="borderStyle" value="square"/>
<userDefinedRuntimeAttribute type="string" keyPath="markStyle" value="check"/>
<userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
<real key="value" value="2"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="string" keyPath="translationToken" value="message3StartCall"/>
<userDefinedRuntimeAttribute type="boolean" keyPath="localizable" value="YES"/>
</userDefinedRuntimeAttributes>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Log:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P2H-Xn-XDe"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Log:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P2H-Xn-XDe">
<rect key="frame" x="0.0" y="407" width="382" height="20.5"/> <rect key="frame" x="0.0" y="220.5" width="382" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/> <fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/> <nil key="textColor"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" text="Nothing yet..." textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="ueI-Uz-yHO"> <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" text="Nothing yet..." textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="ueI-Uz-yHO">
<rect key="frame" x="0.0" y="427.5" width="382" height="200"/> <rect key="frame" x="0.0" y="241" width="382" height="200"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="200" id="BHp-W7-FN7"/> <constraint firstAttribute="height" constant="200" id="BHp-W7-FN7"/>
@ -220,8 +250,8 @@
<outlet property="cbAutoIdOnServer" destination="rQ9-1q-btO" id="nVq-kA-3kB"/> <outlet property="cbAutoIdOnServer" destination="rQ9-1q-btO" id="nVq-kA-3kB"/>
<outlet property="cbEIdOnServer" destination="8UN-U2-rDK" id="Fwz-68-UOq"/> <outlet property="cbEIdOnServer" destination="8UN-U2-rDK" id="Fwz-68-UOq"/>
<outlet property="cbPayOnServer" destination="tiV-0b-ogq" id="PwY-lC-bGV"/> <outlet property="cbPayOnServer" destination="tiV-0b-ogq" id="PwY-lC-bGV"/>
<outlet property="cbViPP" destination="e67-EL-qyu" id="baY-XT-tBj"/>
<outlet property="log" destination="ueI-Uz-yHO" id="qPq-xt-YgB"/> <outlet property="log" destination="ueI-Uz-yHO" id="qPq-xt-YgB"/>
<outlet property="modePicker" destination="ubY-TI-odM" id="2oU-VA-BxB"/>
</connections> </connections>
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>

View File

@ -16,30 +16,27 @@ import WebIdAutoIdentOnServerProductPlugin
/// Demo App which starts the ``VideoIdentProductPlugin`` and handles its result /// Demo App which starts the ``VideoIdentProductPlugin`` and handles its result
class ViewController: class ViewController:
UIViewController, UIViewController,
UIPickerViewDataSource,
UIPickerViewDelegate,
IProductPluginWebidDelegate { IProductPluginWebidDelegate {
var metaPluginExecutionMode: EMetaPluginMode = .live
@IBOutlet weak var modePicker: UIPickerView!
@IBOutlet weak var cbAutoIdOnServer: Checkbox! @IBOutlet weak var cbAutoIdOnServer: Checkbox!
@IBOutlet weak var cbPayOnServer: Checkbox! @IBOutlet weak var cbPayOnServer: Checkbox!
@IBOutlet weak var cbEIdOnServer: Checkbox! @IBOutlet weak var cbEIdOnServer: Checkbox!
@IBOutlet weak var log: UITextView! @IBOutlet weak var log: UITextView!
@IBOutlet weak var cbViPP: Checkbox!
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
modePicker.delegate = self
modePicker.dataSource = self
cbAutoIdOnServer.textView.textColor = .black cbAutoIdOnServer.textView.textColor = .black
cbPayOnServer.textView.textColor = .black cbPayOnServer.textView.textColor = .black
cbEIdOnServer.textView.textColor = .black cbEIdOnServer.textView.textColor = .black
cbViPP.textView.textColor = .black
cbAutoIdOnServer.textView.text = "AutoIdOnServer" cbAutoIdOnServer.textView.text = "AutoIdOnServer"
cbPayOnServer.textView.text = "PayOnServer" cbPayOnServer.textView.text = "PayOnServer"
cbEIdOnServer.textView.text = "EIdOnServer" cbEIdOnServer.textView.text = "EIdOnServer"
cbViPP.textView.text = "VideoIdent"
} }
@IBAction func touchStartButton(_ sender: Any) { @IBAction func touchStartButton(_ sender: Any) {
@ -185,29 +182,12 @@ class ViewController:
if cbEIdOnServer.isChecked { if cbEIdOnServer.isChecked {
plugins.append(EidOnServerProductPlugin()) plugins.append(EidOnServerProductPlugin())
} }
if cbViPP.isChecked {
plugins.append(VideoIdentProductPlugin())
}
return plugins return plugins
} }
// MARK: PickerView delegate
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return EMetaPluginMode.allCases.count
}
// The data to return for the row and component (column) that's being passed in
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return EMetaPluginMode.allCases[row].rawValue
}
// Capture the picker view selection
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
metaPluginExecutionMode = EMetaPluginMode.allCases[row]
}
// MARK: logging methods // MARK: logging methods
/** /**

View File

@ -23,8 +23,6 @@ Insert this number in the Credentials class, by replacing the placeholder string
After that, start the demo app on an iOS device.</br> After that, start the demo app on an iOS device.</br>
The app allows you to pick and choose which plugins to add at runtime. The app allows you to pick and choose which plugins to add at runtime.
Check the boxes for the plugins you wish to add.</br> Check the boxes for the plugins you wish to add.</br>
If necessary, the plugin's mode can be set to a given debug scenario.
We recommend the usage of the live mode instead.<br>
Press the main button on the Main screen to start the plugin during runtime. Press the main button on the Main screen to start the plugin during runtime.