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";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 13.4.2;
minimumVersion = 15.0.0;
};
};
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";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 13.4.2;
minimumVersion = 15.0.0;
};
};
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";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 13.4.2;
minimumVersion = 15.0.0;
};
};
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";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 13.4.2;
minimumVersion = 15.0.0;
};
};
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";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 13.4.2;
minimumVersion = 15.0.0;
};
};
/* End XCRemoteSwiftPackageReference section */

View File

@ -1,9 +1,9 @@
<?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"/>
<dependencies>
<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="System colors in document resources" minToolsVersion="11.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"/>
<subviews>
<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>
<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"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</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">
<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"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="Y6l-mg-qC3"/>
@ -89,14 +80,14 @@
<userDefinedRuntimeAttribute type="string" keyPath="borderStyle" value="square"/>
<userDefinedRuntimeAttribute type="string" keyPath="markStyle" value="check"/>
<userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
<real key="value" value="2"/>
<integer key="value" value="2"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="string" keyPath="translationToken" value="message3StartCall"/>
<userDefinedRuntimeAttribute type="boolean" keyPath="localizable" value="YES"/>
</userDefinedRuntimeAttributes>
</view>
<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"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="yax-7R-Zk2"/>
@ -134,7 +125,7 @@
</userDefinedRuntimeAttributes>
</view>
<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"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="tdo-nd-wwz"/>
@ -171,14 +162,53 @@
<userDefinedRuntimeAttribute type="boolean" keyPath="localizable" value="YES"/>
</userDefinedRuntimeAttributes>
</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">
<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"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<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"/>
<constraints>
<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="cbEIdOnServer" destination="8UN-U2-rDK" id="Fwz-68-UOq"/>
<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="modePicker" destination="ubY-TI-odM" id="2oU-VA-BxB"/>
</connections>
</viewController>
<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
class ViewController:
UIViewController,
UIPickerViewDataSource,
UIPickerViewDelegate,
IProductPluginWebidDelegate {
var metaPluginExecutionMode: EMetaPluginMode = .live
@IBOutlet weak var modePicker: UIPickerView!
@IBOutlet weak var cbAutoIdOnServer: Checkbox!
@IBOutlet weak var cbPayOnServer: Checkbox!
@IBOutlet weak var cbEIdOnServer: Checkbox!
@IBOutlet weak var log: UITextView!
@IBOutlet weak var cbViPP: Checkbox!
override func viewDidLoad() {
super.viewDidLoad()
modePicker.delegate = self
modePicker.dataSource = self
cbAutoIdOnServer.textView.textColor = .black
cbPayOnServer.textView.textColor = .black
cbEIdOnServer.textView.textColor = .black
cbViPP.textView.textColor = .black
cbAutoIdOnServer.textView.text = "AutoIdOnServer"
cbPayOnServer.textView.text = "PayOnServer"
cbEIdOnServer.textView.text = "EIdOnServer"
cbViPP.textView.text = "VideoIdent"
}
@IBAction func touchStartButton(_ sender: Any) {
@ -185,29 +182,12 @@ class ViewController:
if cbEIdOnServer.isChecked {
plugins.append(EidOnServerProductPlugin())
}
if cbViPP.isChecked {
plugins.append(VideoIdentProductPlugin())
}
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
/**

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>
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>
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.