diff --git a/Sample/.metadata b/Sample/.metadata
new file mode 100644
index 0000000..7b572a7
--- /dev/null
+++ b/Sample/.metadata
@@ -0,0 +1,30 @@
+# This file tracks properties of this Flutter project.
+# Used by Flutter tool to assess capabilities and perform upgrades etc.
+#
+# This file should be version controlled and should not be manually edited.
+
+version:
+ revision: "66dd93f9a27ffe2a9bfc8297506ce066ff51265f"
+ channel: "stable"
+
+project_type: app
+
+# Tracks metadata for the flutter migrate command
+migration:
+ platforms:
+ - platform: root
+ create_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f
+ base_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f
+ - platform: ios
+ create_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f
+ base_revision: 66dd93f9a27ffe2a9bfc8297506ce066ff51265f
+
+ # User provided section
+
+ # List of Local paths (relative to this file) that should be
+ # ignored by the migrate tool.
+ #
+ # Files that are not part of the templates will be ignored by default.
+ unmanaged_files:
+ - 'lib/main.dart'
+ - 'ios/Runner.xcodeproj/project.pbxproj'
diff --git a/Sample/README.md b/Sample/README.md
new file mode 100644
index 0000000..396da68
--- /dev/null
+++ b/Sample/README.md
@@ -0,0 +1,16 @@
+# ottu_flutter_checkout_sample
+
+A new Flutter project.
+
+## Getting Started
+
+This project is a starting point for a Flutter application.
+
+A few resources to get you started if this is your first Flutter project:
+
+- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
+- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
+
+For help getting started with Flutter development, view the
+[online documentation](https://docs.flutter.dev/), which offers tutorials,
+samples, guidance on mobile development, and a full API reference.
diff --git a/Sample/ios/.gitignore b/Sample/ios/.gitignore
index 087814b..c7751a2 100644
--- a/Sample/ios/.gitignore
+++ b/Sample/ios/.gitignore
@@ -11,6 +11,7 @@
**/DerivedData/
Icon?
**/Pods/
+Podfile.lock
**/.symlinks/
profile
xcuserdata
@@ -32,5 +33,3 @@ Runner/GeneratedPluginRegistrant.*
!default.mode2v3
!default.pbxuser
!default.perspectivev3
-/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
-/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved
diff --git a/Sample/ios/Flutter/AppFrameworkInfo.plist b/Sample/ios/Flutter/AppFrameworkInfo.plist
index c95f173..1dc6cf7 100644
--- a/Sample/ios/Flutter/AppFrameworkInfo.plist
+++ b/Sample/ios/Flutter/AppFrameworkInfo.plist
@@ -2,25 +2,25 @@
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- App
- CFBundleIdentifier
- io.flutter.flutter.app
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- App
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1.0
- MinimumOSVersion
- 15.0
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ App
+ CFBundleIdentifier
+ io.flutter.flutter.app
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ App
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.0
+ MinimumOSVersion
+ 13.0
diff --git a/Sample/ios/Podfile b/Sample/ios/Podfile
new file mode 100644
index 0000000..5564310
--- /dev/null
+++ b/Sample/ios/Podfile
@@ -0,0 +1,40 @@
+# Uncomment this line to define a global platform for your project
+platform :ios, '14.0'
+use_modular_headers!
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
+
+project 'Runner', {
+ 'Debug' => :debug,
+ 'Profile' => :release,
+ 'Release' => :release,
+}
+
+def flutter_root
+ generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
+ unless File.exist?(generated_xcode_build_settings_path)
+ raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
+ end
+
+ File.foreach(generated_xcode_build_settings_path) do |line|
+ matches = line.match(/FLUTTER_ROOT\=(.*)/)
+ return matches[1].strip if matches
+ end
+ raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
+end
+
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
+
+flutter_ios_podfile_setup
+
+target 'Runner' do
+ use_frameworks! :linkage => :static
+ pod 'ottu_checkout_sdk', :git => 'https://github.com/ottuco/ottu-ios.git'
+ flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
+end
+
+post_install do |installer|
+ installer.pods_project.targets.each do |target|
+ flutter_additional_ios_build_settings(target)
+ end
+end
diff --git a/Sample/ios/Runner.xcodeproj/project.pbxproj b/Sample/ios/Runner.xcodeproj/project.pbxproj
index 6333998..7580fd9 100644
--- a/Sample/ios/Runner.xcodeproj/project.pbxproj
+++ b/Sample/ios/Runner.xcodeproj/project.pbxproj
@@ -7,31 +7,51 @@
objects = {
/* Begin PBXBuildFile section */
- 140A71B42D8AE8B000EBA941 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 140A71B32D8AE8B000EBA941 /* Localizable.xcstrings */; };
- 146CCB6B2D86EDBF0099E785 /* ottu_checkout_sdk in Frameworks */ = {isa = PBXBuildFile; productRef = 146CCB6A2D86EDBF0099E785 /* ottu_checkout_sdk */; };
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
- 14B3564E2D944211005D52A8 /* ottu_checkout_sdk in Frameworks */ = {isa = PBXBuildFile; productRef = 14B3564D2D944211005D52A8 /* ottu_checkout_sdk */; };
- 14B356522D94486C005D52A8 /* ottu_checkout_sdk in Frameworks */ = {isa = PBXBuildFile; productRef = 14B356512D94486C005D52A8 /* ottu_checkout_sdk */; };
+ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
+ 6E36FD2315B8DCDA6B8FDC43 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC4A760AA70C93E61C193656 /* Pods_Runner.framework */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
- 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
+/* Begin PBXContainerItemProxy section */
+ 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 97C146E61CF9000F007C117D /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 97C146ED1CF9000F007C117D;
+ remoteInfo = Runner;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
- 140A71B32D8AE8B000EBA941 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = ""; };
- 1434912E2D8059E7003FD2BA /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Main.strings; sourceTree = ""; };
- 1434912F2D8059E7003FD2BA /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/LaunchScreen.strings; sourceTree = ""; };
- 145292242D89A0ED001AF55B /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
+ 2E664BF5C1CD868DE4F7ADC3 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
+ 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; };
+ 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
+ 6EC960C9A87BB91DD8D6C182 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
- 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
+ 92FE5ECAA497ACA33A899491 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -39,6 +59,7 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ AC4A760AA70C93E61C193656 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -46,20 +67,42 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */,
- 146CCB6B2D86EDBF0099E785 /* ottu_checkout_sdk in Frameworks */,
- 14B3564E2D944211005D52A8 /* ottu_checkout_sdk in Frameworks */,
- 14B356522D94486C005D52A8 /* ottu_checkout_sdk in Frameworks */,
+ 6E36FD2315B8DCDA6B8FDC43 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 125F82B88155D25DA72FEC1C /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ AC4A760AA70C93E61C193656 /* Pods_Runner.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 331C8082294A63A400263BE5 /* RunnerTests */ = {
+ isa = PBXGroup;
+ children = (
+ 331C807B294A618700263BE5 /* RunnerTests.swift */,
+ );
+ path = RunnerTests;
+ sourceTree = "";
+ };
+ 631D582614FFC9F3B1337E34 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 92FE5ECAA497ACA33A899491 /* Pods-Runner.debug.xcconfig */,
+ 6EC960C9A87BB91DD8D6C182 /* Pods-Runner.release.xcconfig */,
+ 2E664BF5C1CD868DE4F7ADC3 /* Pods-Runner.profile.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
- 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */,
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
@@ -71,10 +114,12 @@
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
- 140A71B32D8AE8B000EBA941 /* Localizable.xcstrings */,
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
+ 331C8082294A63A400263BE5 /* RunnerTests */,
+ 631D582614FFC9F3B1337E34 /* Pods */,
+ 125F82B88155D25DA72FEC1C /* Frameworks */,
);
sourceTree = "";
};
@@ -82,6 +127,7 @@
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
+ 331C8081294A63A400263BE5 /* RunnerTests.xctest */,
);
name = Products;
sourceTree = "";
@@ -89,7 +135,6 @@
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
- 145292242D89A0ED001AF55B /* Runner.entitlements */,
97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
@@ -105,27 +150,42 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
+ 331C8080294A63A400263BE5 /* RunnerTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
+ buildPhases = (
+ 331C807D294A63A400263BE5 /* Sources */,
+ 331C807F294A63A400263BE5 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 331C8086294A63A400263BE5 /* PBXTargetDependency */,
+ );
+ name = RunnerTests;
+ productName = RunnerTests;
+ productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
+ 370B9BC8542A01F300FDC242 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
+ 9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+ 2D3EDC6597E707612C474E63 /* [CP] Embed Pods Frameworks */,
+ C0D658871B11EF85A2601884 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
);
name = Runner;
- packageProductDependencies = (
- 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,
- 146CCB6A2D86EDBF0099E785 /* ottu_checkout_sdk */,
- 14B3564D2D944211005D52A8 /* ottu_checkout_sdk */,
- 14B356512D94486C005D52A8 /* ottu_checkout_sdk */,
- );
productName = Runner;
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
productType = "com.apple.product-type.application";
@@ -140,6 +200,10 @@
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
+ 331C8080294A63A400263BE5 = {
+ CreatedOnToolsVersion = 14.0;
+ TestTargetID = 97C146ED1CF9000F007C117D;
+ };
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
LastSwiftMigration = 1100;
@@ -153,28 +217,31 @@
knownRegions = (
en,
Base,
- ar,
);
mainGroup = 97C146E51CF9000F007C117D;
- packageReferences = (
- 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */,
- );
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
97C146ED1CF9000F007C117D /* Runner */,
+ 331C8080294A63A400263BE5 /* RunnerTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
+ 331C807F294A63A400263BE5 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
97C146EC1CF9000F007C117D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
- 140A71B42D8AE8B000EBA941 /* Localizable.xcstrings in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
@@ -184,6 +251,45 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
+ 2D3EDC6597E707612C474E63 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 370B9BC8542A01F300FDC242 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
@@ -215,9 +321,34 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
+ C0D658871B11EF85A2601884 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
+ 331C807D294A63A400263BE5 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
97C146EA1CF9000F007C117D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -229,12 +360,19 @@
};
/* End PBXSourcesBuildPhase section */
+/* Begin PBXTargetDependency section */
+ 331C8086294A63A400263BE5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 97C146ED1CF9000F007C117D /* Runner */;
+ targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
/* Begin PBXVariantGroup section */
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C146FB1CF9000F007C117D /* Base */,
- 1434912E2D8059E7003FD2BA /* ar */,
);
name = Main.storyboard;
sourceTree = "";
@@ -243,7 +381,6 @@
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
- 1434912F2D8059E7003FD2BA /* ar */,
);
name = LaunchScreen.storyboard;
sourceTree = "";
@@ -256,7 +393,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@@ -295,12 +432,10 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 15.6;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
- SWIFT_EMIT_LOC_STRINGS = YES;
- SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
@@ -312,39 +447,75 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
- CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 16;
+ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = RM764UJ9JN;
ENABLE_BITCODE = NO;
- FLUTTER_BUILD_NUMBER = 3;
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = com.ottu.checkout.flutter;
+ PRODUCT_BUNDLE_IDENTIFIER = com.ottu.ottuFlutterCheckoutSample;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "";
- SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
- SUPPORTS_MACCATALYST = NO;
- SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
- SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = 1;
VERSIONING_SYSTEM = "apple-generic";
};
name = Profile;
};
+ 331C8088294A63A400263BE5 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.ottu.ottuFlutterCheckoutSample.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+ };
+ name = Debug;
+ };
+ 331C8089294A63A400263BE5 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.ottu.ottuFlutterCheckoutSample.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+ };
+ name = Release;
+ };
+ 331C808A294A63A400263BE5 /* Profile */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.ottu.ottuFlutterCheckoutSample.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+ };
+ name = Profile;
+ };
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
- CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@@ -389,12 +560,10 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 15.6;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
- SWIFT_EMIT_LOC_STRINGS = YES;
- SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
@@ -403,8 +572,8 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
- CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@@ -443,14 +612,12 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 15.6;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
- SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-O";
- SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
@@ -462,30 +629,19 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
- CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 16;
+ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = RM764UJ9JN;
ENABLE_BITCODE = NO;
- FLUTTER_BUILD_NUMBER = 3;
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = com.ottu.checkout.flutter;
+ PRODUCT_BUNDLE_IDENTIFIER = com.ottu.ottuFlutterCheckoutSample;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "";
- SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
- SUPPORTS_MACCATALYST = NO;
- SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
- SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = 1;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
@@ -496,29 +652,18 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
- CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 16;
+ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = RM764UJ9JN;
ENABLE_BITCODE = NO;
- FLUTTER_BUILD_NUMBER = 3;
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = com.ottu.checkout.flutter;
+ PRODUCT_BUNDLE_IDENTIFIER = com.ottu.ottuFlutterCheckoutSample;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "";
- SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
- SUPPORTS_MACCATALYST = NO;
- SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
- SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = 1;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
@@ -526,6 +671,16 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
+ 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 331C8088294A63A400263BE5 /* Debug */,
+ 331C8089294A63A400263BE5 /* Release */,
+ 331C808A294A63A400263BE5 /* Profile */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@@ -547,32 +702,6 @@
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
-
-/* Begin XCLocalSwiftPackageReference section */
- 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = {
- isa = XCLocalSwiftPackageReference;
- relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage;
- };
-/* End XCLocalSwiftPackageReference section */
-
-/* Begin XCSwiftPackageProductDependency section */
- 146CCB6A2D86EDBF0099E785 /* ottu_checkout_sdk */ = {
- isa = XCSwiftPackageProductDependency;
- productName = ottu_checkout_sdk;
- };
- 14B3564D2D944211005D52A8 /* ottu_checkout_sdk */ = {
- isa = XCSwiftPackageProductDependency;
- productName = ottu_checkout_sdk;
- };
- 14B356512D94486C005D52A8 /* ottu_checkout_sdk */ = {
- isa = XCSwiftPackageProductDependency;
- productName = ottu_checkout_sdk;
- };
- 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {
- isa = XCSwiftPackageProductDependency;
- productName = FlutterGeneratedPluginSwiftPackage;
- };
-/* End XCSwiftPackageProductDependency section */
};
rootObject = 97C146E61CF9000F007C117D /* Project object */;
}
diff --git a/Sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/Sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index b864914..e3773d4 100644
--- a/Sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/Sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,44 +1,10 @@
+ version = "1.3">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/Sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/Sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
index d0d98aa..d36b1fa 100644
--- a/Sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/Sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1 +1,122 @@
-{"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}}
\ No newline at end of file
+{
+ "images" : [
+ {
+ "size" : "20x20",
+ "idiom" : "iphone",
+ "filename" : "Icon-App-20x20@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "20x20",
+ "idiom" : "iphone",
+ "filename" : "Icon-App-20x20@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "iphone",
+ "filename" : "Icon-App-29x29@1x.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "iphone",
+ "filename" : "Icon-App-29x29@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "iphone",
+ "filename" : "Icon-App-29x29@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "iphone",
+ "filename" : "Icon-App-40x40@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "iphone",
+ "filename" : "Icon-App-40x40@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "size" : "60x60",
+ "idiom" : "iphone",
+ "filename" : "Icon-App-60x60@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "60x60",
+ "idiom" : "iphone",
+ "filename" : "Icon-App-60x60@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "size" : "20x20",
+ "idiom" : "ipad",
+ "filename" : "Icon-App-20x20@1x.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "20x20",
+ "idiom" : "ipad",
+ "filename" : "Icon-App-20x20@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "ipad",
+ "filename" : "Icon-App-29x29@1x.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "ipad",
+ "filename" : "Icon-App-29x29@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "ipad",
+ "filename" : "Icon-App-40x40@1x.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "ipad",
+ "filename" : "Icon-App-40x40@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "76x76",
+ "idiom" : "ipad",
+ "filename" : "Icon-App-76x76@1x.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "76x76",
+ "idiom" : "ipad",
+ "filename" : "Icon-App-76x76@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "83.5x83.5",
+ "idiom" : "ipad",
+ "filename" : "Icon-App-83.5x83.5@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "1024x1024",
+ "idiom" : "ios-marketing",
+ "filename" : "Icon-App-1024x1024@1x.png",
+ "scale" : "1x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/Sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/Sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
new file mode 100644
index 0000000..89c2725
--- /dev/null
+++ b/Sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
@@ -0,0 +1,5 @@
+# Launch Screen Assets
+
+You can customize the launch screen with your own desired assets by replacing the image files in this directory.
+
+You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
\ No newline at end of file
diff --git a/Sample/ios/Runner/Base.lproj/Main.storyboard b/Sample/ios/Runner/Base.lproj/Main.storyboard
index 7fbb0b2..f3c2851 100644
--- a/Sample/ios/Runner/Base.lproj/Main.storyboard
+++ b/Sample/ios/Runner/Base.lproj/Main.storyboard
@@ -1,10 +1,8 @@
-
-
-
+
+
-
-
+
@@ -16,14 +14,13 @@
-
+
-
+
-
diff --git a/Sample/ios/Runner/Info.plist b/Sample/ios/Runner/Info.plist
index 50fd288..68da1f6 100644
--- a/Sample/ios/Runner/Info.plist
+++ b/Sample/ios/Runner/Info.plist
@@ -63,6 +63,8 @@
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight
+ CFBundleAllowMixedLocalizations
+
UISupportedInterfaceOrientations~ipad
UIInterfaceOrientationPortrait
diff --git a/Sample/pubspec.yaml b/Sample/pubspec.yaml
index 6c671ff..2129232 100644
--- a/Sample/pubspec.yaml
+++ b/Sample/pubspec.yaml
@@ -39,7 +39,7 @@ dependencies:
ottu_flutter_checkout:
git:
url: https://github.com/ottuco/ottu-flutter.git
- ref: 2.2.7
+ ref: 2.2.7-cocoapods
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
@@ -62,6 +62,6 @@ dev_dependencies:
flutter:
generate: true
config:
- disable-swift-package-manager: false
- enable-swift-package-manager: true
+ disable-swift-package-manager: true
+ enable-swift-package-manager: false
uses-material-design: true
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CheckoutArguments.swift b/ios/Classes/CheckoutArguments.swift
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CheckoutArguments.swift
rename to ios/Classes/CheckoutArguments.swift
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CheckoutPlatformView.swift b/ios/Classes/CheckoutPlatformView.swift
similarity index 99%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CheckoutPlatformView.swift
rename to ios/Classes/CheckoutPlatformView.swift
index b85fc1c..a9c636d 100644
--- a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CheckoutPlatformView.swift
+++ b/ios/Classes/CheckoutPlatformView.swift
@@ -108,17 +108,17 @@ public class CheckoutPlatformView: NSObject, FlutterPlatformView {
if let parentVC = findRootViewController() as? FlutterViewController {
let title = NSLocalizedString(
"failed",
- bundle: Bundle.module,
+ bundle: Bundle.main,
comment: "title of the dialog"
)
let message = NSLocalizedString(
"failed_start_payment",
- bundle: Bundle.module,
+ bundle: Bundle.main,
comment: "messafe of the dialog"
)
let ok = NSLocalizedString(
"ok",
- bundle: Bundle.module,
+ bundle: Bundle.main,
comment: "button label"
)
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CheckoutViewFactory.swift b/ios/Classes/CheckoutViewFactory.swift
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CheckoutViewFactory.swift
rename to ios/Classes/CheckoutViewFactory.swift
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CheckoutViewPlugin.swift b/ios/Classes/CheckoutViewPlugin.swift
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CheckoutViewPlugin.swift
rename to ios/Classes/CheckoutViewPlugin.swift
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CustomerTheme.swift b/ios/Classes/CustomerTheme.swift
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/CustomerTheme.swift
rename to ios/Classes/CustomerTheme.swift
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/Logger.swift b/ios/Classes/Logger.swift
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/Logger.swift
rename to ios/Classes/Logger.swift
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/PayButtonText.swift b/ios/Classes/PayButtonText.swift
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/PayButtonText.swift
rename to ios/Classes/PayButtonText.swift
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/PaymentOptionsDisplaySettings.swift b/ios/Classes/PaymentOptionsDisplaySettings.swift
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/PaymentOptionsDisplaySettings.swift
rename to ios/Classes/PaymentOptionsDisplaySettings.swift
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/PrivacyInfo.xcprivacy b/ios/Classes/PrivacyInfo.xcprivacy
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/PrivacyInfo.xcprivacy
rename to ios/Classes/PrivacyInfo.xcprivacy
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/ext.swift b/ios/Classes/ext.swift
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/ext.swift
rename to ios/Classes/ext.swift
diff --git a/ios/LICENSE.txt b/ios/LICENSE.txt
new file mode 100644
index 0000000..570cfb7
--- /dev/null
+++ b/ios/LICENSE.txt
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Ottu
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/Resources/ar.lproj/Localizable.strings b/ios/Resources/ar.lproj/Localizable.strings
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/Resources/ar.lproj/Localizable.strings
rename to ios/Resources/ar.lproj/Localizable.strings
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/Resources/en.lproj/Localizable.strings b/ios/Resources/en.lproj/Localizable.strings
similarity index 100%
rename from ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/Resources/en.lproj/Localizable.strings
rename to ios/Resources/en.lproj/Localizable.strings
diff --git a/ios/ottu_flutter_checkout.podspec b/ios/ottu_flutter_checkout.podspec
new file mode 100644
index 0000000..87b1d1e
--- /dev/null
+++ b/ios/ottu_flutter_checkout.podspec
@@ -0,0 +1,35 @@
+Pod::Spec.new do |s|
+ s.name = 'ottu_flutter_checkout'
+ s.version = '0.0.1' # Sync this with your pubspec.yaml version
+ s.summary = 'A Flutter checkout integration for Ottu.'
+ s.description = <<-DESC
+A Flutter plugin for the Ottu Checkout SDK integration on iOS.
+ DESC
+ s.homepage = 'https://github.com/ottuco/ottu-ios'
+ s.license = { :type => 'MIT', :file => 'LICENSE.txt' }
+ s.author = { 'Ottu' => 'support@ottu.com' }
+ s.source = { :path => '.' }
+
+ s.ios.deployment_target = '14.0'
+ s.swift_version = '5.5'
+
+ s.source_files = 'Classes/**/*'
+ s.public_header_files = 'Classes/**/*.h'
+
+ s.dependency 'Flutter'
+ s.dependency 'ottu_checkout_sdk', '~> 2.2.12'
+ s.dependency 'Sentry', '~> 8.46.0'
+
+ # Resources (Privacy and Assets)
+ s.resource_bundles = {
+ 'ottu_flutter_checkout_privacy' => ['Classes/PrivacyInfo.xcprivacy'],
+ 'ottu_flutter_checkout_resources' => ['Resources/**/*']
+ }
+
+ # C Settings / Header Search Paths
+ s.pod_target_xcconfig = {
+ 'DEFINES_MODULE' => 'YES',
+ 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386',
+ 'HEADER_SEARCH_PATHS' => '$(PODS_TARGET_SRCROOT)/Classes/include/ottu_flutter_checkout'
+ }
+end
\ No newline at end of file
diff --git a/ios/ottu_flutter_checkout/Package.swift b/ios/ottu_flutter_checkout/Package.swift
deleted file mode 100644
index 38319f2..0000000
--- a/ios/ottu_flutter_checkout/Package.swift
+++ /dev/null
@@ -1,31 +0,0 @@
-// swift-tools-version: 5.5
-// The swift-tools-version declares the minimum version of Swift required to build this package.
-
-import PackageDescription
-
-let package = Package(
- name: "ottu_flutter_checkout",
- defaultLocalization: "en",
- platforms: [.iOS(.v15)],
- products: [
- .library(name: "ottu-flutter-checkout", targets: ["ottu_flutter_checkout"])
- ],
- dependencies: [
- .package(name: "ottu_checkout_sdk", url: "https://github.com/ottuco/ottu-ios", from: "2.2.12")
- ],
- targets: [
- .target(
- name: "ottu_flutter_checkout",
- dependencies: [
- .product(name: "ottu_checkout_sdk", package: "ottu_checkout_sdk"),
- ],
- resources: [
- .process("PrivacyInfo.xcprivacy"),
- .process("Resources")
- ],
- cSettings: [
- .headerSearchPath("include/ottu_flutter_checkout")
- ]
- )
- ]
-)
diff --git a/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/include/ottu_flutter_checkout/.gitkeep b/ios/ottu_flutter_checkout/Sources/ottu_flutter_checkout/include/ottu_flutter_checkout/.gitkeep
deleted file mode 100644
index e69de29..0000000