[MWI-2350] Integration Demo für ProductCatalog erstellen
This commit is contained in:
parent
f7ba6aa346
commit
eb74eb79e9
0
.gitignore
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
0
LICENSE.txt
Normal file → Executable file
0
LICENSE.txt
Normal file → Executable file
754
MetaPluginDemo.xcodeproj/project.pbxproj
Executable file
754
MetaPluginDemo.xcodeproj/project.pbxproj
Executable file
@ -0,0 +1,754 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 55;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
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 */; };
|
||||||
|
4C63AAD5288193F10046A02E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4C63AAD3288193F10046A02E /* Main.storyboard */; };
|
||||||
|
4C63AAD7288193F40046A02E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4C63AAD6288193F40046A02E /* Assets.xcassets */; };
|
||||||
|
4C63AADA288193F40046A02E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4C63AAD8288193F40046A02E /* LaunchScreen.storyboard */; };
|
||||||
|
4C63AAE5288193F40046A02E /* MetaPluginDemoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C63AAE4288193F40046A02E /* MetaPluginDemoTests.swift */; };
|
||||||
|
4C63AAEF288193F40046A02E /* MetaPluginDemoUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C63AAEE288193F40046A02E /* MetaPluginDemoUITests.swift */; };
|
||||||
|
4C63AAF1288193F40046A02E /* MetaPluginDemoUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C63AAF0288193F40046A02E /* MetaPluginDemoUITestsLaunchTests.swift */; };
|
||||||
|
4C63AB012881991C0046A02E /* Credentials.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C63AB002881991C0046A02E /* Credentials.swift */; };
|
||||||
|
4CB10A1B2B860F1400624BC6 /* webid-gateway.de_2024.11.02.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4CB10A172B860F1400624BC6 /* webid-gateway.de_2024.11.02.cer */; };
|
||||||
|
4CB10A1C2B860F1400624BC6 /* test.webid-solutions.de_2024.02.27.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4CB10A182B860F1400624BC6 /* test.webid-solutions.de_2024.02.27.cer */; };
|
||||||
|
4CB10A1D2B860F1400624BC6 /* test.webid-solutions.de_2025.02.22.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4CB10A192B860F1400624BC6 /* test.webid-solutions.de_2025.02.22.cer */; };
|
||||||
|
4CB10A1E2B860F1400624BC6 /* webid-gateway.de_2023.12.01.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4CB10A1A2B860F1400624BC6 /* webid-gateway.de_2023.12.01.cer */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXContainerItemProxy section */
|
||||||
|
4C63AAE1288193F40046A02E /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = 4C63AAC2288193F10046A02E /* Project object */;
|
||||||
|
proxyType = 1;
|
||||||
|
remoteGlobalIDString = 4C63AAC9288193F10046A02E;
|
||||||
|
remoteInfo = MetaPluginDemo;
|
||||||
|
};
|
||||||
|
4C63AAEB288193F40046A02E /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = 4C63AAC2288193F10046A02E /* Project object */;
|
||||||
|
proxyType = 1;
|
||||||
|
remoteGlobalIDString = 4C63AAC9288193F10046A02E;
|
||||||
|
remoteInfo = MetaPluginDemo;
|
||||||
|
};
|
||||||
|
/* End PBXContainerItemProxy section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
4C21466928B3C40300D9BC87 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
|
||||||
|
4C40CAA9291A6DE700D76323 /* EWebIdEnv.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EWebIdEnv.swift; sourceTree = "<group>"; };
|
||||||
|
4C40CABA291A717000D76323 /* CustomizedPluginTheme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomizedPluginTheme.swift; sourceTree = "<group>"; };
|
||||||
|
4C40CABC291A718D00D76323 /* LICENSE.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE.txt; sourceTree = "<group>"; };
|
||||||
|
4C5972D92888113400912838 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
||||||
|
4C63AACA288193F10046A02E /* MetaPluginDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MetaPluginDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
4C63AACD288193F10046A02E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||||
|
4C63AACF288193F10046A02E /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
|
||||||
|
4C63AAD1288193F10046A02E /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
|
||||||
|
4C63AAD4288193F10046A02E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||||
|
4C63AAD6288193F40046A02E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
|
4C63AAD9288193F40046A02E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
|
4C63AADB288193F40046A02E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
|
4C63AAE0288193F40046A02E /* MetaPluginDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MetaPluginDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
4C63AAE4288193F40046A02E /* MetaPluginDemoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetaPluginDemoTests.swift; sourceTree = "<group>"; };
|
||||||
|
4C63AAEA288193F40046A02E /* MetaPluginDemoUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MetaPluginDemoUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
4C63AAEE288193F40046A02E /* MetaPluginDemoUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetaPluginDemoUITests.swift; sourceTree = "<group>"; };
|
||||||
|
4C63AAF0288193F40046A02E /* MetaPluginDemoUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetaPluginDemoUITestsLaunchTests.swift; sourceTree = "<group>"; };
|
||||||
|
4C63AB002881991C0046A02E /* Credentials.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Credentials.swift; sourceTree = "<group>"; };
|
||||||
|
4CB10A172B860F1400624BC6 /* webid-gateway.de_2024.11.02.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = "webid-gateway.de_2024.11.02.cer"; sourceTree = "<group>"; };
|
||||||
|
4CB10A182B860F1400624BC6 /* test.webid-solutions.de_2024.02.27.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = "test.webid-solutions.de_2024.02.27.cer"; sourceTree = "<group>"; };
|
||||||
|
4CB10A192B860F1400624BC6 /* test.webid-solutions.de_2025.02.22.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = "test.webid-solutions.de_2025.02.22.cer"; sourceTree = "<group>"; };
|
||||||
|
4CB10A1A2B860F1400624BC6 /* webid-gateway.de_2023.12.01.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = "webid-gateway.de_2023.12.01.cer"; sourceTree = "<group>"; };
|
||||||
|
C8B6F1CC2BB460890023D2BF /* init.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = init.sh; sourceTree = "<group>"; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
4C63AAC7288193F10046A02E /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
4C4DEF982BB56D5F00F28680 /* WebIdPayOnServerProductPlugin in Frameworks */,
|
||||||
|
4C4DEF9A2BB56D5F00F28680 /* WebIdEIdOnServerProductPlugin in Frameworks */,
|
||||||
|
4C4DEF962BB56D5F00F28680 /* WebIdMetaPlugin in Frameworks */,
|
||||||
|
4C4DEF9C2BB56D5F00F28680 /* WebIdAutoIdentOnServerProductPlugin in Frameworks */,
|
||||||
|
4C62C1D42BB577CD0070AA6F /* WebIdVideoIdentProductPlugin in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
4C63AADD288193F40046A02E /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
4C63AAE7288193F40046A02E /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
4C40CAB5291A6EA000D76323 /* Certificates */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4CB10A182B860F1400624BC6 /* test.webid-solutions.de_2024.02.27.cer */,
|
||||||
|
4CB10A192B860F1400624BC6 /* test.webid-solutions.de_2025.02.22.cer */,
|
||||||
|
4CB10A1A2B860F1400624BC6 /* webid-gateway.de_2023.12.01.cer */,
|
||||||
|
4CB10A172B860F1400624BC6 /* webid-gateway.de_2024.11.02.cer */,
|
||||||
|
);
|
||||||
|
path = Certificates;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C4DEF942BB56D5F00F28680 /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C63AAC1288193F10046A02E = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
C8B6F1CC2BB460890023D2BF /* init.sh */,
|
||||||
|
4C40CABC291A718D00D76323 /* LICENSE.txt */,
|
||||||
|
4C21466928B3C40300D9BC87 /* .gitignore */,
|
||||||
|
4C5972D92888113400912838 /* README.md */,
|
||||||
|
4C63AACC288193F10046A02E /* MetaPluginDemo */,
|
||||||
|
4C63AAE3288193F40046A02E /* MetaPluginDemoTests */,
|
||||||
|
4C63AAED288193F40046A02E /* MetaPluginDemoUITests */,
|
||||||
|
4C63AACB288193F10046A02E /* Products */,
|
||||||
|
4C4DEF942BB56D5F00F28680 /* Frameworks */,
|
||||||
|
);
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C63AACB288193F10046A02E /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C63AACA288193F10046A02E /* MetaPluginDemo.app */,
|
||||||
|
4C63AAE0288193F40046A02E /* MetaPluginDemoTests.xctest */,
|
||||||
|
4C63AAEA288193F40046A02E /* MetaPluginDemoUITests.xctest */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C63AACC288193F10046A02E /* MetaPluginDemo */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C40CAB5291A6EA000D76323 /* Certificates */,
|
||||||
|
4C63AACD288193F10046A02E /* AppDelegate.swift */,
|
||||||
|
4C63AACF288193F10046A02E /* SceneDelegate.swift */,
|
||||||
|
4C63AAD1288193F10046A02E /* ViewController.swift */,
|
||||||
|
4C63AAD3288193F10046A02E /* Main.storyboard */,
|
||||||
|
4C63AAD6288193F40046A02E /* Assets.xcassets */,
|
||||||
|
4C63AAD8288193F40046A02E /* LaunchScreen.storyboard */,
|
||||||
|
4C63AADB288193F40046A02E /* Info.plist */,
|
||||||
|
4C63AB002881991C0046A02E /* Credentials.swift */,
|
||||||
|
4C40CAA9291A6DE700D76323 /* EWebIdEnv.swift */,
|
||||||
|
4C40CABA291A717000D76323 /* CustomizedPluginTheme.swift */,
|
||||||
|
);
|
||||||
|
path = MetaPluginDemo;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C63AAE3288193F40046A02E /* MetaPluginDemoTests */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C63AAE4288193F40046A02E /* MetaPluginDemoTests.swift */,
|
||||||
|
);
|
||||||
|
path = MetaPluginDemoTests;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C63AAED288193F40046A02E /* MetaPluginDemoUITests */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4C63AAEE288193F40046A02E /* MetaPluginDemoUITests.swift */,
|
||||||
|
4C63AAF0288193F40046A02E /* MetaPluginDemoUITestsLaunchTests.swift */,
|
||||||
|
);
|
||||||
|
path = MetaPluginDemoUITests;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
4C63AAC9288193F10046A02E /* MetaPluginDemo */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 4C63AAF4288193F40046A02E /* Build configuration list for PBXNativeTarget "MetaPluginDemo" */;
|
||||||
|
buildPhases = (
|
||||||
|
4C63AAC6288193F10046A02E /* Sources */,
|
||||||
|
4C63AAC7288193F10046A02E /* Frameworks */,
|
||||||
|
4C63AAC8288193F10046A02E /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = MetaPluginDemo;
|
||||||
|
packageProductDependencies = (
|
||||||
|
4C4DEF952BB56D5F00F28680 /* WebIdMetaPlugin */,
|
||||||
|
4C4DEF972BB56D5F00F28680 /* WebIdPayOnServerProductPlugin */,
|
||||||
|
4C4DEF992BB56D5F00F28680 /* WebIdEIdOnServerProductPlugin */,
|
||||||
|
4C4DEF9B2BB56D5F00F28680 /* WebIdAutoIdentOnServerProductPlugin */,
|
||||||
|
4C62C1D32BB577CD0070AA6F /* WebIdVideoIdentProductPlugin */,
|
||||||
|
);
|
||||||
|
productName = MetaPluginDemo;
|
||||||
|
productReference = 4C63AACA288193F10046A02E /* MetaPluginDemo.app */;
|
||||||
|
productType = "com.apple.product-type.application";
|
||||||
|
};
|
||||||
|
4C63AADF288193F40046A02E /* MetaPluginDemoTests */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 4C63AAF7288193F40046A02E /* Build configuration list for PBXNativeTarget "MetaPluginDemoTests" */;
|
||||||
|
buildPhases = (
|
||||||
|
4C63AADC288193F40046A02E /* Sources */,
|
||||||
|
4C63AADD288193F40046A02E /* Frameworks */,
|
||||||
|
4C63AADE288193F40046A02E /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
4C63AAE2288193F40046A02E /* PBXTargetDependency */,
|
||||||
|
);
|
||||||
|
name = MetaPluginDemoTests;
|
||||||
|
productName = MetaPluginDemoTests;
|
||||||
|
productReference = 4C63AAE0288193F40046A02E /* MetaPluginDemoTests.xctest */;
|
||||||
|
productType = "com.apple.product-type.bundle.unit-test";
|
||||||
|
};
|
||||||
|
4C63AAE9288193F40046A02E /* MetaPluginDemoUITests */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 4C63AAFA288193F40046A02E /* Build configuration list for PBXNativeTarget "MetaPluginDemoUITests" */;
|
||||||
|
buildPhases = (
|
||||||
|
4C63AAE6288193F40046A02E /* Sources */,
|
||||||
|
4C63AAE7288193F40046A02E /* Frameworks */,
|
||||||
|
4C63AAE8288193F40046A02E /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
4C63AAEC288193F40046A02E /* PBXTargetDependency */,
|
||||||
|
);
|
||||||
|
name = MetaPluginDemoUITests;
|
||||||
|
productName = MetaPluginDemoUITests;
|
||||||
|
productReference = 4C63AAEA288193F40046A02E /* MetaPluginDemoUITests.xctest */;
|
||||||
|
productType = "com.apple.product-type.bundle.ui-testing";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
4C63AAC2288193F10046A02E /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
attributes = {
|
||||||
|
BuildIndependentTargetsInParallel = 1;
|
||||||
|
LastSwiftUpdateCheck = 1340;
|
||||||
|
LastUpgradeCheck = 1340;
|
||||||
|
TargetAttributes = {
|
||||||
|
4C63AAC9288193F10046A02E = {
|
||||||
|
CreatedOnToolsVersion = 13.4.1;
|
||||||
|
};
|
||||||
|
4C63AADF288193F40046A02E = {
|
||||||
|
CreatedOnToolsVersion = 13.4.1;
|
||||||
|
TestTargetID = 4C63AAC9288193F10046A02E;
|
||||||
|
};
|
||||||
|
4C63AAE9288193F40046A02E = {
|
||||||
|
CreatedOnToolsVersion = 13.4.1;
|
||||||
|
TestTargetID = 4C63AAC9288193F10046A02E;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
buildConfigurationList = 4C63AAC5288193F10046A02E /* Build configuration list for PBXProject "MetaPluginDemo" */;
|
||||||
|
compatibilityVersion = "Xcode 13.0";
|
||||||
|
developmentRegion = en;
|
||||||
|
hasScannedForEncodings = 0;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
Base,
|
||||||
|
);
|
||||||
|
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" */,
|
||||||
|
);
|
||||||
|
productRefGroup = 4C63AACB288193F10046A02E /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
4C63AAC9288193F10046A02E /* MetaPluginDemo */,
|
||||||
|
4C63AADF288193F40046A02E /* MetaPluginDemoTests */,
|
||||||
|
4C63AAE9288193F40046A02E /* MetaPluginDemoUITests */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
|
4C63AAC8288193F10046A02E /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
4CB10A1B2B860F1400624BC6 /* webid-gateway.de_2024.11.02.cer in Resources */,
|
||||||
|
4CB10A1D2B860F1400624BC6 /* test.webid-solutions.de_2025.02.22.cer in Resources */,
|
||||||
|
4C40CABD291A718D00D76323 /* LICENSE.txt in Resources */,
|
||||||
|
4C63AADA288193F40046A02E /* LaunchScreen.storyboard in Resources */,
|
||||||
|
4CB10A1C2B860F1400624BC6 /* test.webid-solutions.de_2024.02.27.cer in Resources */,
|
||||||
|
4C63AAD7288193F40046A02E /* Assets.xcassets in Resources */,
|
||||||
|
4CB10A1E2B860F1400624BC6 /* webid-gateway.de_2023.12.01.cer in Resources */,
|
||||||
|
4C63AAD5288193F10046A02E /* Main.storyboard in Resources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
4C63AADE288193F40046A02E /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
4C63AAE8288193F40046A02E /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
4C63AAC6288193F10046A02E /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
4C63AAD2288193F10046A02E /* ViewController.swift in Sources */,
|
||||||
|
4C63AACE288193F10046A02E /* AppDelegate.swift in Sources */,
|
||||||
|
4C63AB012881991C0046A02E /* Credentials.swift in Sources */,
|
||||||
|
4C63AAD0288193F10046A02E /* SceneDelegate.swift in Sources */,
|
||||||
|
4C40CAAA291A6DE700D76323 /* EWebIdEnv.swift in Sources */,
|
||||||
|
4C40CABB291A717000D76323 /* CustomizedPluginTheme.swift in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
4C63AADC288193F40046A02E /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
4C63AAE5288193F40046A02E /* MetaPluginDemoTests.swift in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
4C63AAE6288193F40046A02E /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
4C63AAEF288193F40046A02E /* MetaPluginDemoUITests.swift in Sources */,
|
||||||
|
4C63AAF1288193F40046A02E /* MetaPluginDemoUITestsLaunchTests.swift in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXTargetDependency section */
|
||||||
|
4C63AAE2288193F40046A02E /* PBXTargetDependency */ = {
|
||||||
|
isa = PBXTargetDependency;
|
||||||
|
target = 4C63AAC9288193F10046A02E /* MetaPluginDemo */;
|
||||||
|
targetProxy = 4C63AAE1288193F40046A02E /* PBXContainerItemProxy */;
|
||||||
|
};
|
||||||
|
4C63AAEC288193F40046A02E /* PBXTargetDependency */ = {
|
||||||
|
isa = PBXTargetDependency;
|
||||||
|
target = 4C63AAC9288193F10046A02E /* MetaPluginDemo */;
|
||||||
|
targetProxy = 4C63AAEB288193F40046A02E /* PBXContainerItemProxy */;
|
||||||
|
};
|
||||||
|
/* End PBXTargetDependency section */
|
||||||
|
|
||||||
|
/* Begin PBXVariantGroup section */
|
||||||
|
4C63AAD3288193F10046A02E /* Main.storyboard */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
4C63AAD4288193F10046A02E /* Base */,
|
||||||
|
);
|
||||||
|
name = Main.storyboard;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C63AAD8288193F40046A02E /* LaunchScreen.storyboard */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
4C63AAD9288193F40046A02E /* Base */,
|
||||||
|
);
|
||||||
|
name = LaunchScreen.storyboard;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXVariantGroup section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
4C63AAF2288193F40046A02E /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
ENABLE_TESTABILITY = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
"DEBUG=1",
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||||
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
4C63AAF3288193F40046A02E /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
SWIFT_COMPILATION_MODE = wholemodule;
|
||||||
|
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||||
|
VALIDATE_PRODUCT = YES;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
4C63AAF5288193F40046A02E /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 86HTHE89B5;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
INFOPLIST_FILE = MetaPluginDemo/Info.plist;
|
||||||
|
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||||
|
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||||
|
INFOPLIST_KEY_UIMainStoryboardFile = Main;
|
||||||
|
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||||
|
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
);
|
||||||
|
MARKETING_VERSION = 1.2;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = de.webidsolutions.MetaPluginDemo;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
4C63AAF6288193F40046A02E /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 86HTHE89B5;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
INFOPLIST_FILE = MetaPluginDemo/Info.plist;
|
||||||
|
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||||
|
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||||
|
INFOPLIST_KEY_UIMainStoryboardFile = Main;
|
||||||
|
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||||
|
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
);
|
||||||
|
MARKETING_VERSION = 1.2;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = de.webidsolutions.MetaPluginDemo;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
4C63AAF8288193F40046A02E /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 86HTHE89B5;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = de.webidsolutions.MetaPluginDemoTests;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = NO;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MetaPluginDemo.app/MetaPluginDemo";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
4C63AAF9288193F40046A02E /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 86HTHE89B5;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = de.webidsolutions.MetaPluginDemoTests;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = NO;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MetaPluginDemo.app/MetaPluginDemo";
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
4C63AAFB288193F40046A02E /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 86HTHE89B5;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = de.webidsolutions.MetaPluginDemoUITests;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = NO;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
TEST_TARGET_NAME = MetaPluginDemo;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
4C63AAFC288193F40046A02E /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 86HTHE89B5;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = de.webidsolutions.MetaPluginDemoUITests;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = NO;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
TEST_TARGET_NAME = MetaPluginDemo;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
4C63AAC5288193F10046A02E /* Build configuration list for PBXProject "MetaPluginDemo" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
4C63AAF2288193F40046A02E /* Debug */,
|
||||||
|
4C63AAF3288193F40046A02E /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
4C63AAF4288193F40046A02E /* Build configuration list for PBXNativeTarget "MetaPluginDemo" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
4C63AAF5288193F40046A02E /* Debug */,
|
||||||
|
4C63AAF6288193F40046A02E /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
4C63AAF7288193F40046A02E /* Build configuration list for PBXNativeTarget "MetaPluginDemoTests" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
4C63AAF8288193F40046A02E /* Debug */,
|
||||||
|
4C63AAF9288193F40046A02E /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
4C63AAFA288193F40046A02E /* Build configuration list for PBXNativeTarget "MetaPluginDemoUITests" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
4C63AAFB288193F40046A02E /* Debug */,
|
||||||
|
4C63AAFC288193F40046A02E /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
|
||||||
|
/* Begin XCRemoteSwiftPackageReference section */
|
||||||
|
4C62C1D22BB577B70070AA6F /* XCRemoteSwiftPackageReference "webid-video-ident-product-plugin-spm" */ = {
|
||||||
|
isa = XCRemoteSwiftPackageReference;
|
||||||
|
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-video-ident-product-plugin-spm";
|
||||||
|
requirement = {
|
||||||
|
kind = upToNextMajorVersion;
|
||||||
|
minimumVersion = 12.0.2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
C8B6F1CD2BB467E50023D2BF /* XCRemoteSwiftPackageReference "webid-meta-plugin-spm" */ = {
|
||||||
|
isa = XCRemoteSwiftPackageReference;
|
||||||
|
repositoryURL = "https://api.webid-solutions.de/releases/ios/spm/SwiftPackages/webid-meta-plugin-spm.git";
|
||||||
|
requirement = {
|
||||||
|
kind = upToNextMinorVersion;
|
||||||
|
minimumVersion = 12.0.2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
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 = 12.0.2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
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 = 12.0.2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
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 = 12.0.2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
/* End XCRemoteSwiftPackageReference section */
|
||||||
|
|
||||||
|
/* Begin XCSwiftPackageProductDependency section */
|
||||||
|
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 */;
|
||||||
|
}
|
7
MetaPluginDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Executable file
7
MetaPluginDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "self:">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>IDEDidComputeMac32BitWarning</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
31
MetaPluginDemo/AppDelegate.swift
Executable file
31
MetaPluginDemo/AppDelegate.swift
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* Created by WebID Solutions GmbH | www.webid-solutions.de.
|
||||||
|
* See the file "LICENSE" for the full license governing this code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import UIKit
|
||||||
|
|
||||||
|
@main
|
||||||
|
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||||
|
|
||||||
|
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
||||||
|
// Override point for customization after application launch.
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
|
||||||
|
}
|
||||||
|
}
|
11
MetaPluginDemo/Assets.xcassets/AccentColor.colorset/Contents.json
Executable file
11
MetaPluginDemo/Assets.xcassets/AccentColor.colorset/Contents.json
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"colors" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
98
MetaPluginDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
Executable file
98
MetaPluginDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
Executable file
@ -0,0 +1,98 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "2x",
|
||||||
|
"size" : "20x20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "3x",
|
||||||
|
"size" : "20x20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "2x",
|
||||||
|
"size" : "29x29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "3x",
|
||||||
|
"size" : "29x29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "2x",
|
||||||
|
"size" : "40x40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "3x",
|
||||||
|
"size" : "40x40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "2x",
|
||||||
|
"size" : "60x60"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "3x",
|
||||||
|
"size" : "60x60"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"scale" : "1x",
|
||||||
|
"size" : "20x20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"scale" : "2x",
|
||||||
|
"size" : "20x20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"scale" : "1x",
|
||||||
|
"size" : "29x29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"scale" : "2x",
|
||||||
|
"size" : "29x29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"scale" : "1x",
|
||||||
|
"size" : "40x40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"scale" : "2x",
|
||||||
|
"size" : "40x40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"scale" : "1x",
|
||||||
|
"size" : "76x76"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"scale" : "2x",
|
||||||
|
"size" : "76x76"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"scale" : "2x",
|
||||||
|
"size" : "83.5x83.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "ios-marketing",
|
||||||
|
"scale" : "1x",
|
||||||
|
"size" : "1024x1024"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
6
MetaPluginDemo/Assets.xcassets/Contents.json
Executable file
6
MetaPluginDemo/Assets.xcassets/Contents.json
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
45
MetaPluginDemo/Base.lproj/LaunchScreen.storyboard
Executable file
45
MetaPluginDemo/Base.lproj/LaunchScreen.storyboard
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
<?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" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||||
|
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="iOS"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
||||||
|
<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"/>
|
||||||
|
</dependencies>
|
||||||
|
<scenes>
|
||||||
|
<!--View Controller-->
|
||||||
|
<scene sceneID="EHf-IW-A2E">
|
||||||
|
<objects>
|
||||||
|
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||||
|
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WebId MetaPlugin Demo" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1lF-ra-Rin">
|
||||||
|
<rect key="frame" x="96" y="443.5" width="222" height="23"/>
|
||||||
|
<fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
|
||||||
|
<nil key="textColor"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
|
</subviews>
|
||||||
|
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||||
|
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstItem="1lF-ra-Rin" firstAttribute="centerY" secondItem="6Tk-OE-BBY" secondAttribute="centerY" id="BMa-Up-uQn"/>
|
||||||
|
<constraint firstItem="1lF-ra-Rin" firstAttribute="centerX" secondItem="6Tk-OE-BBY" secondAttribute="centerX" id="GCv-PP-ElC"/>
|
||||||
|
</constraints>
|
||||||
|
</view>
|
||||||
|
</viewController>
|
||||||
|
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||||
|
</objects>
|
||||||
|
<point key="canvasLocation" x="53" y="375"/>
|
||||||
|
</scene>
|
||||||
|
</scenes>
|
||||||
|
<resources>
|
||||||
|
<systemColor name="systemBackgroundColor">
|
||||||
|
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</systemColor>
|
||||||
|
</resources>
|
||||||
|
</document>
|
279
MetaPluginDemo/Base.lproj/Main.storyboard
Executable file
279
MetaPluginDemo/Base.lproj/Main.storyboard
Executable file
@ -0,0 +1,279 @@
|
|||||||
|
<?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">
|
||||||
|
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="iOS"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
||||||
|
<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"/>
|
||||||
|
</dependencies>
|
||||||
|
<scenes>
|
||||||
|
<!--View Controller-->
|
||||||
|
<scene sceneID="tne-QT-ifu">
|
||||||
|
<objects>
|
||||||
|
<viewController id="BYZ-38-t0r" customClass="ViewController" customModule="MetaPluginDemo" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
|
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="MetaPlugin Demo" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3il-Vf-Phi">
|
||||||
|
<rect key="frame" x="16" y="64" width="382" height="29"/>
|
||||||
|
<fontDescription key="fontDescription" type="system" pointSize="24"/>
|
||||||
|
<color key="textColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PUe-T3-52Q">
|
||||||
|
<rect key="frame" x="16" y="786" width="382" height="60"/>
|
||||||
|
<color key="backgroundColor" red="0.018132103609999999" green="0.69416606430000005" blue="0.98419028519999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="60" id="TnD-dk-CPm"/>
|
||||||
|
</constraints>
|
||||||
|
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
<state key="normal" title="Button"/>
|
||||||
|
<buttonConfiguration key="configuration" style="plain" title="Start Plugin"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="touchStartButton:" destination="BYZ-38-t0r" eventType="touchUpInside" id="doh-h2-vQO"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Pcb-oa-bZp">
|
||||||
|
<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="677.5"/>
|
||||||
|
<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">
|
||||||
|
<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"/>
|
||||||
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="50" id="Y6l-mg-qC3"/>
|
||||||
|
</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>
|
||||||
|
<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"/>
|
||||||
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="50" id="yax-7R-Zk2"/>
|
||||||
|
</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>
|
||||||
|
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aG4-6k-d29" userLabel="checkbox_3" customClass="Checkbox" customModule="WebIdUiKitComponents">
|
||||||
|
<rect key="frame" x="0.0" y="357" width="382" height="50"/>
|
||||||
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="50" id="ppJ-3g-urO"/>
|
||||||
|
</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>
|
||||||
|
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8UN-U2-rDK" userLabel="checkbox_4" customClass="Checkbox" customModule="WebIdUiKitComponents">
|
||||||
|
<rect key="frame" x="0.0" y="407" 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"/>
|
||||||
|
</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="457" 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="477.5" 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"/>
|
||||||
|
</constraints>
|
||||||
|
<color key="textColor" systemColor="labelColor"/>
|
||||||
|
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||||
|
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||||
|
</textView>
|
||||||
|
</subviews>
|
||||||
|
</stackView>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstItem="dfm-OY-YAc" firstAttribute="width" secondItem="tl5-Yp-sEz" secondAttribute="width" id="CrA-S5-Efb"/>
|
||||||
|
<constraint firstItem="dfm-OY-YAc" firstAttribute="bottom" secondItem="jIK-eR-MKG" secondAttribute="bottom" id="Iqm-n6-kmg"/>
|
||||||
|
<constraint firstItem="dfm-OY-YAc" firstAttribute="trailing" secondItem="jIK-eR-MKG" secondAttribute="trailing" id="Vk6-AM-PSz"/>
|
||||||
|
<constraint firstItem="jIK-eR-MKG" firstAttribute="top" secondItem="dfm-OY-YAc" secondAttribute="top" id="Xio-SO-nnZ"/>
|
||||||
|
<constraint firstItem="dfm-OY-YAc" firstAttribute="leading" secondItem="jIK-eR-MKG" secondAttribute="leading" id="ik4-zo-U6M"/>
|
||||||
|
</constraints>
|
||||||
|
<viewLayoutGuide key="contentLayoutGuide" id="jIK-eR-MKG"/>
|
||||||
|
<viewLayoutGuide key="frameLayoutGuide" id="tl5-Yp-sEz"/>
|
||||||
|
</scrollView>
|
||||||
|
</subviews>
|
||||||
|
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||||
|
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="Pcb-oa-bZp" secondAttribute="trailing" constant="16" id="17d-QF-569"/>
|
||||||
|
<constraint firstItem="PUe-T3-52Q" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="16" id="5zr-tX-XQG"/>
|
||||||
|
<constraint firstItem="Pcb-oa-bZp" firstAttribute="top" secondItem="3il-Vf-Phi" secondAttribute="bottom" constant="16" id="DfH-6W-4kw"/>
|
||||||
|
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="PUe-T3-52Q" secondAttribute="bottom" constant="16" id="KzE-Px-2cE"/>
|
||||||
|
<constraint firstItem="PUe-T3-52Q" firstAttribute="top" secondItem="Pcb-oa-bZp" secondAttribute="bottom" constant="16" id="V20-b0-Zul"/>
|
||||||
|
<constraint firstItem="3il-Vf-Phi" firstAttribute="top" secondItem="6Tk-OE-BBY" secondAttribute="top" constant="16" id="Z5T-Dv-qis"/>
|
||||||
|
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="PUe-T3-52Q" secondAttribute="trailing" constant="16" id="cVV-q7-eME"/>
|
||||||
|
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="3il-Vf-Phi" secondAttribute="trailing" constant="16" id="k5d-tr-sRS"/>
|
||||||
|
<constraint firstItem="3il-Vf-Phi" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="16" id="tm0-mp-2KI"/>
|
||||||
|
<constraint firstItem="Pcb-oa-bZp" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="16" id="zur-Rf-Rjm"/>
|
||||||
|
</constraints>
|
||||||
|
</view>
|
||||||
|
<connections>
|
||||||
|
<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="cbVideoId" destination="aG4-6k-d29" id="9fw-bW-SWt"/>
|
||||||
|
<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"/>
|
||||||
|
</objects>
|
||||||
|
<point key="canvasLocation" x="132" y="110"/>
|
||||||
|
</scene>
|
||||||
|
</scenes>
|
||||||
|
<resources>
|
||||||
|
<systemColor name="labelColor">
|
||||||
|
<color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</systemColor>
|
||||||
|
<systemColor name="systemBackgroundColor">
|
||||||
|
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</systemColor>
|
||||||
|
</resources>
|
||||||
|
</document>
|
BIN
MetaPluginDemo/Certificates/test.webid-solutions.de_2024.02.27.cer
Executable file
BIN
MetaPluginDemo/Certificates/test.webid-solutions.de_2024.02.27.cer
Executable file
Binary file not shown.
BIN
MetaPluginDemo/Certificates/test.webid-solutions.de_2025.02.22.cer
Executable file
BIN
MetaPluginDemo/Certificates/test.webid-solutions.de_2025.02.22.cer
Executable file
Binary file not shown.
BIN
MetaPluginDemo/Certificates/webid-gateway.de_2023.12.01.cer
Executable file
BIN
MetaPluginDemo/Certificates/webid-gateway.de_2023.12.01.cer
Executable file
Binary file not shown.
BIN
MetaPluginDemo/Certificates/webid-gateway.de_2024.11.02.cer
Executable file
BIN
MetaPluginDemo/Certificates/webid-gateway.de_2024.11.02.cer
Executable file
Binary file not shown.
26
MetaPluginDemo/CustomizedPluginTheme.swift
Executable file
26
MetaPluginDemo/CustomizedPluginTheme.swift
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
/*
|
||||||
|
* Created by WebID Solutions GmbH | www.webid-solutions.de.
|
||||||
|
* See the file "LICENSE" for the full license governing this code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import WebIdUiKitComponents
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A collection of themes for customizing the product-plugin appearance.
|
||||||
|
*/
|
||||||
|
class CustomizedPluginTheme {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a ``WebidAppTheme`` to use in light mode or, if older than iOS 13.0, standard mode.
|
||||||
|
*/
|
||||||
|
internal static func getLightVersion() -> WebidAppTheme {
|
||||||
|
WebidAppTheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a ``WebidAppTheme`` to use in dark mode.
|
||||||
|
*/
|
||||||
|
internal static func getDarkVersion() -> WebidAppTheme {
|
||||||
|
WebidAppTheme()
|
||||||
|
}
|
||||||
|
}
|
64
MetaPluginDemo/EWebIdEnv.swift
Executable file
64
MetaPluginDemo/EWebIdEnv.swift
Executable file
@ -0,0 +1,64 @@
|
|||||||
|
//
|
||||||
|
// Created by WebID Solutions GmbH | www.webid-solutions.de.
|
||||||
|
// See the file "LICENSE" for the full license governing this code.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
class EWebIDEnv {
|
||||||
|
struct WebIDEnv: Equatable {
|
||||||
|
let uri: URLComponents
|
||||||
|
let username: String
|
||||||
|
let apiKey: String
|
||||||
|
let name: String
|
||||||
|
let pinningCerts: [SecCertificate]
|
||||||
|
|
||||||
|
static func == (lhs: WebIDEnv, rhs: WebIDEnv) -> Bool {
|
||||||
|
return (lhs.uri == rhs.uri && lhs.name == rhs.name)
|
||||||
|
}
|
||||||
|
static func != (lhs: WebIDEnv, rhs: WebIDEnv) -> Bool {
|
||||||
|
return (!(lhs == rhs))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// one environment (here PRODUCTION) has to have an actionIdPrefix= nil, all other environments != nil
|
||||||
|
static let TEST = WebIDEnv(
|
||||||
|
uri: URLComponents(string: "https://test.webid-solutions.de")!,
|
||||||
|
username: Credentials.demoUsernameTest,
|
||||||
|
apiKey: Credentials.demoApiKeyTest,
|
||||||
|
name: "Test",
|
||||||
|
pinningCerts: EWebIDEnv.getPinningCerts(certResourceNames: [
|
||||||
|
"test.webid-solutions.de_2025.02.22",
|
||||||
|
"test.webid-solutions.de_2024.02.27"
|
||||||
|
])
|
||||||
|
)
|
||||||
|
|
||||||
|
static let PRODUCTION = WebIDEnv(
|
||||||
|
uri: URLComponents(string: "https://webid-gateway.de")!,
|
||||||
|
username: Credentials.demoUsernameProduction,
|
||||||
|
apiKey: Credentials.demoApiKeyProduction,
|
||||||
|
name: "",
|
||||||
|
pinningCerts: EWebIDEnv.getPinningCerts(certResourceNames: [
|
||||||
|
"webid-gateway.de_2024.11.02",
|
||||||
|
"webid-gateway.de_2023.12.01"
|
||||||
|
])
|
||||||
|
)
|
||||||
|
|
||||||
|
static func getPinningCerts(certResourceNames: [String]) -> [SecCertificate] {
|
||||||
|
var certificates: [SecCertificate] = []
|
||||||
|
for certResourceName in certResourceNames {
|
||||||
|
let url = Bundle.main.url(
|
||||||
|
forResource: certResourceName,
|
||||||
|
withExtension: "cer"
|
||||||
|
)!
|
||||||
|
let localCertificate = try! Data(contentsOf: url) as CFData
|
||||||
|
if let certificate = SecCertificateCreateWithData(
|
||||||
|
nil,
|
||||||
|
localCertificate
|
||||||
|
) {
|
||||||
|
certificates.append(certificate)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return certificates
|
||||||
|
}
|
||||||
|
}
|
29
MetaPluginDemo/Info.plist
Executable file
29
MetaPluginDemo/Info.plist
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>NSMicrophoneUsageDescription</key>
|
||||||
|
<string>This app needs access to your microphone to perform a video identification</string>
|
||||||
|
<key>NSCameraUsageDescription</key>
|
||||||
|
<string>This app needs access to your camera to perform a video identification</string>
|
||||||
|
<key>UIApplicationSceneManifest</key>
|
||||||
|
<dict>
|
||||||
|
<key>UIApplicationSupportsMultipleScenes</key>
|
||||||
|
<false/>
|
||||||
|
<key>UISceneConfigurations</key>
|
||||||
|
<dict>
|
||||||
|
<key>UIWindowSceneSessionRoleApplication</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>UISceneConfigurationName</key>
|
||||||
|
<string>Default Configuration</string>
|
||||||
|
<key>UISceneDelegateClassName</key>
|
||||||
|
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
|
||||||
|
<key>UISceneStoryboardFile</key>
|
||||||
|
<string>Main</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
55
MetaPluginDemo/SceneDelegate.swift
Executable file
55
MetaPluginDemo/SceneDelegate.swift
Executable file
@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
* Created by WebID Solutions GmbH | www.webid-solutions.de.
|
||||||
|
* See the file "LICENSE" for the full license governing this code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import UIKit
|
||||||
|
|
||||||
|
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.
|
||||||
|
// Release any resources associated with this scene that can be re-created the next time the scene connects.
|
||||||
|
// 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.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
251
MetaPluginDemo/ViewController.swift
Executable file
251
MetaPluginDemo/ViewController.swift
Executable file
@ -0,0 +1,251 @@
|
|||||||
|
/*
|
||||||
|
* Created by WebID Solutions GmbH | www.webid-solutions.de.
|
||||||
|
* See the file "LICENSE" for the full license governing this code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import UIKit
|
||||||
|
import WebIdIosSdk
|
||||||
|
import WebIdPluginCore
|
||||||
|
import WebIdMetaPlugin
|
||||||
|
import WebIdUiKitComponents
|
||||||
|
import WebIdVideoIdentProductPlugin
|
||||||
|
import WebIdPayOnServerProductPlugin
|
||||||
|
import WebIdEIdOnServerProductPlugin
|
||||||
|
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 cbVideoId: Checkbox!
|
||||||
|
@IBOutlet weak var cbEIdOnServer: Checkbox!
|
||||||
|
@IBOutlet weak var log: UITextView!
|
||||||
|
|
||||||
|
override func viewDidLoad() {
|
||||||
|
super.viewDidLoad()
|
||||||
|
modePicker.delegate = self
|
||||||
|
modePicker.dataSource = self
|
||||||
|
|
||||||
|
cbAutoIdOnServer.textView.textColor = .black
|
||||||
|
cbPayOnServer.textView.textColor = .black
|
||||||
|
cbVideoId.textView.textColor = .black
|
||||||
|
cbEIdOnServer.textView.textColor = .black
|
||||||
|
|
||||||
|
cbAutoIdOnServer.textView.text = "AutoIdOnServer"
|
||||||
|
cbPayOnServer.textView.text = "PayOnServer"
|
||||||
|
cbVideoId.textView.text = "VideoId"
|
||||||
|
cbEIdOnServer.textView.text = "EIdOnServer"
|
||||||
|
}
|
||||||
|
|
||||||
|
@IBAction func touchStartButton(_ sender: Any) {
|
||||||
|
clearLog()
|
||||||
|
writeLog(entry: "Starting…")
|
||||||
|
createCoreSdk()
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: Create MetaPlugin
|
||||||
|
|
||||||
|
var metaPlugin: MetaPlugin!
|
||||||
|
|
||||||
|
/// Creates the the meta-plugin instance from the existing credentials.
|
||||||
|
private func createCoreSdk() {
|
||||||
|
writeLog(entry: "Creating Meta Plugin…")
|
||||||
|
|
||||||
|
// actual creation of the core SDK
|
||||||
|
do {
|
||||||
|
let env = EWebIDEnv.TEST
|
||||||
|
metaPlugin = MetaPlugin(
|
||||||
|
username: env.username,
|
||||||
|
apiKey: env.apiKey,
|
||||||
|
env: try WebIdSdkEnvironment(
|
||||||
|
url: env.uri,
|
||||||
|
pinningCertificates: env.pinningCerts
|
||||||
|
),
|
||||||
|
plugins: getChosenPlugins()
|
||||||
|
)
|
||||||
|
writeLog(entry: "Meta Plugin creation successful")
|
||||||
|
verifyActionId()
|
||||||
|
} catch {
|
||||||
|
writeLog(entry: "Meta Plugin creation failed")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: Verify Action-ID
|
||||||
|
|
||||||
|
/// Calls the verify action-id method asynchronously to start the process.
|
||||||
|
private func verifyActionId() {
|
||||||
|
writeLog(entry: "Verifying Action-ID…")
|
||||||
|
Task {
|
||||||
|
do {
|
||||||
|
let result = try await metaPlugin.verify(for: Credentials.actionId)
|
||||||
|
verifyActionIdCallback(result: .success(result))
|
||||||
|
} catch {
|
||||||
|
verifyActionIdCallback(result: .failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback for the asynchronous verify call.
|
||||||
|
*
|
||||||
|
* - Parameters:
|
||||||
|
* - result The result, containing the VerifyActionIdResult of the call
|
||||||
|
*/
|
||||||
|
@MainActor
|
||||||
|
private func verifyActionIdCallback(result: Result<VerifyActionIdResult, Error>) {
|
||||||
|
switch result {
|
||||||
|
case .success(let verifyActionIdResult):
|
||||||
|
writeLog(entry: "Verification successful")
|
||||||
|
startMetaPlugin(with: verifyActionIdResult)
|
||||||
|
case .failure(let error):
|
||||||
|
writeLog(entry: "Verification failed: \(error.localizedDescription)")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: Start MetaPlugin
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reads the given Configs and starts the plugin.
|
||||||
|
*
|
||||||
|
* - Parameters:
|
||||||
|
* - verifyActionIdResult: result of the verify action-id call
|
||||||
|
*/
|
||||||
|
private func startMetaPlugin(with verifyActionIdResult: VerifyActionIdResult) {
|
||||||
|
writeLog(entry: "Starting MetaPlugin...")
|
||||||
|
do {
|
||||||
|
try metaPlugin.startPlugin(
|
||||||
|
parentVC: self,
|
||||||
|
delegate: self,
|
||||||
|
lightTheme: CustomizedPluginTheme.getLightVersion(),
|
||||||
|
darkTheme: CustomizedPluginTheme.getDarkVersion()
|
||||||
|
)
|
||||||
|
} catch {
|
||||||
|
writeLog(entry: "Start Failed:\n\(error.localizedDescription)")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Successful delegate callback for the plugin.
|
||||||
|
*
|
||||||
|
* - Parameters:
|
||||||
|
* - additionalResult: extra info from the plugin
|
||||||
|
* - processFinished: irrelevant for this plugin
|
||||||
|
*/
|
||||||
|
func finishedSuccess(additionalResult: String?, processFinished: Bool) {
|
||||||
|
writeLog(entry: "Product Journey finished successfully")
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Failed delegate callback for the plugin with a plugin-specific error.
|
||||||
|
*
|
||||||
|
* - Parameters:
|
||||||
|
* - failreason: the reason for the failure of the plugin, handle according to documentation
|
||||||
|
* - additionalResult: extra info from the plugin
|
||||||
|
*/
|
||||||
|
func finishedFailed(
|
||||||
|
failreasonContainer: WebIdPluginCore.PluginFailReasonContainer,
|
||||||
|
additionalResult: String?,
|
||||||
|
faultOriginator: String
|
||||||
|
) {
|
||||||
|
if let container = failreasonContainer as? AutoIdOnServerProductPluginFailReasonContainer {
|
||||||
|
writeLog(entry: "Product journey finished with failure:\n\(container.failreason)")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Failed delegate callback for the plugin with a generic error.
|
||||||
|
*
|
||||||
|
* - Parameters:
|
||||||
|
* - failreason: the reason for the failure of the plugin, handle according to documentation
|
||||||
|
* - additionalResult: extra info from the plugin
|
||||||
|
*/
|
||||||
|
func finishedFailed(
|
||||||
|
failreason: EProductPluginErrors,
|
||||||
|
additionalResult: String?,
|
||||||
|
faultOriginator: String
|
||||||
|
) {
|
||||||
|
writeLog(entry: "Product journey finished with failure:\n\(failreason.self)")
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: Plugin chooser
|
||||||
|
|
||||||
|
private func getChosenPlugins() -> [any IProductPluginWebId] {
|
||||||
|
var plugins = [any IProductPluginWebId]()
|
||||||
|
if cbAutoIdOnServer.isChecked {
|
||||||
|
plugins.append(AutoIdentOnServerProductPlugin())
|
||||||
|
}
|
||||||
|
if cbPayOnServer.isChecked {
|
||||||
|
plugins.append(PayOnServerProductPlugin())
|
||||||
|
}
|
||||||
|
if cbVideoId.isChecked {
|
||||||
|
plugins.append(VideoIdentProductPlugin())
|
||||||
|
}
|
||||||
|
if cbEIdOnServer.isChecked {
|
||||||
|
plugins.append(EidOnServerProductPlugin())
|
||||||
|
}
|
||||||
|
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
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add an entry to the log.
|
||||||
|
*
|
||||||
|
* - Parameters:
|
||||||
|
* - entry: the new line for the log
|
||||||
|
*/
|
||||||
|
private func writeLog(entry: String) {
|
||||||
|
log.text = log.text + entry + "\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Resets the text log of this activity.
|
||||||
|
private func clearLog() {
|
||||||
|
log.text = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func infoAlert(_ message: String, go: ((UIAlertAction) -> Void)? = nil) {
|
||||||
|
let alertController = UIAlertController(
|
||||||
|
title: "Info",
|
||||||
|
message: message,
|
||||||
|
preferredStyle: UIAlertController.Style.alert
|
||||||
|
)
|
||||||
|
alertController.addAction(UIAlertAction(
|
||||||
|
title: "OK",
|
||||||
|
style: UIAlertAction.Style.default,
|
||||||
|
handler: go
|
||||||
|
))
|
||||||
|
self.present(
|
||||||
|
alertController,
|
||||||
|
animated: true,
|
||||||
|
completion: nil
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
26
MetaPluginDemoTests/MetaPluginDemoTests.swift
Executable file
26
MetaPluginDemoTests/MetaPluginDemoTests.swift
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
//
|
||||||
|
// Created by WebID Solutions GmbH | www.webid-solutions.de.
|
||||||
|
// See the file "LICENSE" for the full license governing this code.
|
||||||
|
//
|
||||||
|
|
||||||
|
import XCTest
|
||||||
|
@testable import MetaPluginDemo
|
||||||
|
|
||||||
|
class MetaPluginDemoTests: XCTestCase {
|
||||||
|
|
||||||
|
override func setUpWithError() throws {
|
||||||
|
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||||
|
}
|
||||||
|
|
||||||
|
override func tearDownWithError() throws {
|
||||||
|
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||||
|
}
|
||||||
|
|
||||||
|
func testExample() throws {
|
||||||
|
// This is an example of a functional test case.
|
||||||
|
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
||||||
|
// Any test you write for XCTest can be annotated as throws and async.
|
||||||
|
// Mark your test throws to produce an unexpected failure when your test encounters an uncaught error.
|
||||||
|
// Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards.
|
||||||
|
}
|
||||||
|
}
|
30
MetaPluginDemoUITests/MetaPluginDemoUITests.swift
Executable file
30
MetaPluginDemoUITests/MetaPluginDemoUITests.swift
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
//
|
||||||
|
// Created by WebID Solutions GmbH | www.webid-solutions.de.
|
||||||
|
// See the file "LICENSE" for the full license governing this code.
|
||||||
|
//
|
||||||
|
|
||||||
|
import XCTest
|
||||||
|
|
||||||
|
class MetaPluginDemoUITests: XCTestCase {
|
||||||
|
|
||||||
|
override func setUpWithError() throws {
|
||||||
|
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||||
|
|
||||||
|
// In UI tests it is usually best to stop immediately when a failure occurs.
|
||||||
|
continueAfterFailure = false
|
||||||
|
|
||||||
|
// In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
|
||||||
|
}
|
||||||
|
|
||||||
|
override func tearDownWithError() throws {
|
||||||
|
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||||
|
}
|
||||||
|
|
||||||
|
func testExample() throws {
|
||||||
|
// UI tests must launch the application that they test.
|
||||||
|
let app = XCUIApplication()
|
||||||
|
app.launch()
|
||||||
|
|
||||||
|
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
||||||
|
}
|
||||||
|
}
|
30
MetaPluginDemoUITests/MetaPluginDemoUITestsLaunchTests.swift
Executable file
30
MetaPluginDemoUITests/MetaPluginDemoUITestsLaunchTests.swift
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
//
|
||||||
|
// Created by WebID Solutions GmbH | www.webid-solutions.de.
|
||||||
|
// See the file "LICENSE" for the full license governing this code.
|
||||||
|
//
|
||||||
|
|
||||||
|
import XCTest
|
||||||
|
|
||||||
|
class MetaPluginDemoUITestsLaunchTests: XCTestCase {
|
||||||
|
|
||||||
|
override class var runsForEachTargetApplicationUIConfiguration: Bool {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
override func setUpWithError() throws {
|
||||||
|
continueAfterFailure = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func testLaunch() throws {
|
||||||
|
let app = XCUIApplication()
|
||||||
|
app.launch()
|
||||||
|
|
||||||
|
// Insert steps here to perform after app launch but before taking a screenshot,
|
||||||
|
// such as logging into a test account or navigating somewhere in the app
|
||||||
|
|
||||||
|
let attachment = XCTAttachment(screenshot: app.screenshot())
|
||||||
|
attachment.name = "Launch Screen"
|
||||||
|
attachment.lifetime = .keepAlways
|
||||||
|
add(attachment)
|
||||||
|
}
|
||||||
|
}
|
8
README.md
Normal file → Executable file
8
README.md
Normal file → Executable file
@ -21,16 +21,22 @@ From the process creation request to the server, you should have received an act
|
|||||||
Insert this number in the Credentials class, by replacing the placeholder string with the action-id as a string.</br>
|
Insert this number in the Credentials class, by replacing the placeholder string with the action-id as a string.</br>
|
||||||
|
|
||||||
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.
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
## Fastened Tutorial
|
## Fastened Tutorial
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
|
<li>Generate the Credentials.swift file</li>
|
||||||
<li>Replace placeholder strings in Credentials.swift</li>
|
<li>Replace placeholder strings in Credentials.swift</li>
|
||||||
<li>Create process via mobile api</li>
|
<li>Create process via mobile api</li>
|
||||||
<li>Replace placeholder string of action-id with action-id from process-creation response</li>
|
<li>Replace placeholder string of action-id with action-id from process-creation response</li>
|
||||||
<li>Start plugin</li>
|
<li>Start App</li>
|
||||||
|
<li>Choose which plugins to add</li>
|
||||||
<li>Click main button of the Main Screen to start the plugin</li>
|
<li>Click main button of the Main Screen to start the plugin</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user