diff --git a/.gitignore b/.gitignore index 49a187c..a7bc4d3 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,8 @@ migrate_working_dir/ **/doc/api/ .dart_tool/ build/ + + +#SPM +.build/ +.swiftpm/ \ No newline at end of file diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 298b27a..0d1beb0 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,34 +1,15 @@ PODS: - Flutter (1.0.0) - - integration_test (0.0.1): - - Flutter - - TelemetryDeck (2.9.1) - - telemetrydecksdk (1.0.0): - - Flutter - - TelemetryDeck (~> 2.9.1) DEPENDENCIES: - Flutter (from `Flutter`) - - integration_test (from `.symlinks/plugins/integration_test/ios`) - - telemetrydecksdk (from `.symlinks/plugins/telemetrydecksdk/ios`) - -SPEC REPOS: - trunk: - - TelemetryDeck EXTERNAL SOURCES: Flutter: :path: Flutter - integration_test: - :path: ".symlinks/plugins/integration_test/ios" - telemetrydecksdk: - :path: ".symlinks/plugins/telemetrydecksdk/ios" SPEC CHECKSUMS: Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e - TelemetryDeck: 2d31ff48e93fd37f2a9f257dba5d633ea11ed9ff - telemetrydecksdk: c165a0d35ee4aaab20a7dcbd6156ef8ce68a8571 PODFILE CHECKSUM: 7be2f5f74864d463a8ad433546ed1de7e0f29aef diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 313fdf5..080ef0e 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 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 */; }; @@ -72,6 +73,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, 03B4416349B97703EC233DAF /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -197,13 +199,15 @@ 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1DD570DF1645B4C3B1FEC1B6 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); name = Runner; + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); productName = Runner; productReference = 97C146EE1CF9000F007C117D /* Runner.app */; productType = "com.apple.product-type.application"; @@ -237,6 +241,9 @@ Base, ); mainGroup = 97C146E51CF9000F007C117D; + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, + ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; projectRoot = ""; @@ -269,23 +276,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1DD570DF1645B4C3B1FEC1B6 /* [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; - }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -719,6 +709,20 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { + isa = XCSwiftPackageProductDependency; + productName = FlutterGeneratedPluginSwiftPackage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; } diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..caf428e --- /dev/null +++ b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,15 @@ +{ + "originHash" : "7c67b046f38c1b8b7792d2eb8bc328af53228a0a41d52f500cd3552d3df3ff26", + "pins" : [ + { + "identity" : "swiftsdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/TelemetryDeck/SwiftSDK", + "state" : { + "revision" : "41dfe21580bf244b6a0ddd5f2135cd58f2059c29", + "version" : "2.9.1" + } + } + ], + "version" : 3 +} diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8e3ca5d..15c313e 100644 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -5,6 +5,24 @@ + + + + + + + + + + '../LICENSE' } s.author = { 'TelemetryDeck' => 'info@telemetrydeck.com' } s.source = { :path => '.' } - s.source_files = 'Classes/**/*' + s.source_files = 'telemetrydecksdk/Sources/telemetrydecksdk/**/*.swift' + s.resource_bundles = {'telemetrydecksdk_privacy' => ['telemetrydecksdk/Sources/telemetrydecksdk/PrivacyInfo.xcprivacy']} s.dependency 'Flutter' s.dependency 'TelemetryDeck', '~> 2.9.1' s.platform = :ios, '12.0' diff --git a/ios/telemetrydecksdk/Package.resolved b/ios/telemetrydecksdk/Package.resolved new file mode 100644 index 0000000..f1db4ab --- /dev/null +++ b/ios/telemetrydecksdk/Package.resolved @@ -0,0 +1,14 @@ +{ + "pins" : [ + { + "identity" : "swiftsdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/TelemetryDeck/SwiftSDK", + "state" : { + "revision" : "41dfe21580bf244b6a0ddd5f2135cd58f2059c29", + "version" : "2.9.1" + } + } + ], + "version" : 2 +} diff --git a/ios/telemetrydecksdk/Package.swift b/ios/telemetrydecksdk/Package.swift new file mode 100644 index 0000000..e51ff61 --- /dev/null +++ b/ios/telemetrydecksdk/Package.swift @@ -0,0 +1,28 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "telemetrydecksdk", + platforms: [ + .iOS("12.0"), + .macOS("10.14"), + ], + products: [ + .library(name: "telemetrydecksdk", targets: ["telemetrydecksdk"]) + ], dependencies: [ + .package(url: "https://github.com/TelemetryDeck/SwiftSDK", from: "2.9.1") + ], + targets: [ + .target( + name: "telemetrydecksdk", + dependencies: [ + .product(name: "TelemetryDeck", package: "SwiftSDK") + ], + resources: [ + .process("PrivacyInfo.xcprivacy") + ] + ) + ] +) diff --git a/ios/telemetrydecksdk/Sources/telemetrydecksdk/PrivacyInfo.xcprivacy b/ios/telemetrydecksdk/Sources/telemetrydecksdk/PrivacyInfo.xcprivacy new file mode 100644 index 0000000..2eab767 --- /dev/null +++ b/ios/telemetrydecksdk/Sources/telemetrydecksdk/PrivacyInfo.xcprivacy @@ -0,0 +1,35 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeProductInteraction + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAnalytics + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAnalytics + + + + NSPrivacyTracking + + + \ No newline at end of file diff --git a/ios/Classes/TelemetrydecksdkPlugin.swift b/ios/telemetrydecksdk/Sources/telemetrydecksdk/TelemetrydecksdkPlugin.swift similarity index 100% rename from ios/Classes/TelemetrydecksdkPlugin.swift rename to ios/telemetrydecksdk/Sources/telemetrydecksdk/TelemetrydecksdkPlugin.swift