From 69bd926d2390421a8f7050ad8c9b2a5a71b8151a Mon Sep 17 00:00:00 2001 From: alejandro-all-win-software Date: Tue, 19 May 2026 16:58:55 -0600 Subject: [PATCH] chore: added swift package manager support --- example/.gitignore | 2 + example/ios/Runner/AppDelegate.swift | 2 +- ios/.gitignore | 1 + ios/Assets/.gitkeep | 0 ios/appsflyer_sdk.podspec | 8 +-- ios/appsflyer_sdk/Package.resolved | 14 +++++ ios/appsflyer_sdk/Package.swift | 56 +++++++++++++++++++ .../appsflyer_sdk}/AppsFlyerAttribution.m | 2 +- .../appsflyer_sdk}/AppsFlyerStreamHandler.m | 2 +- .../appsflyer_sdk}/AppsflyerSdkPlugin.m | 4 +- .../appsflyer_sdk}/AppsFlyerAttribution.h | 0 .../appsflyer_sdk}/AppsFlyerStreamHandler.h | 0 .../appsflyer_sdk}/AppsflyerSdkPlugin.h | 1 - ...lutterAppDelegate+AppsFlyerStreamHandler.h | 0 .../PurchaseConnectorPlugin.swift | 0 15 files changed, 81 insertions(+), 11 deletions(-) delete mode 100644 ios/Assets/.gitkeep create mode 100644 ios/appsflyer_sdk/Package.resolved create mode 100644 ios/appsflyer_sdk/Package.swift rename ios/{Classes => appsflyer_sdk/Sources/appsflyer_sdk}/AppsFlyerAttribution.m (98%) rename ios/{Classes => appsflyer_sdk/Sources/appsflyer_sdk}/AppsFlyerStreamHandler.m (98%) rename ios/{Classes => appsflyer_sdk/Sources/appsflyer_sdk}/AppsflyerSdkPlugin.m (99%) rename ios/{Classes => appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk}/AppsFlyerAttribution.h (100%) rename ios/{Classes => appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk}/AppsFlyerStreamHandler.h (100%) rename ios/{Classes => appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk}/AppsflyerSdkPlugin.h (99%) rename ios/{Classes => appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk}/FlutterAppDelegate+AppsFlyerStreamHandler.h (100%) rename ios/{PurchaseConnector => appsflyer_sdk/Sources/purchase_connector}/PurchaseConnectorPlugin.swift (100%) diff --git a/example/.gitignore b/example/.gitignore index c130db31..32339993 100644 --- a/example/.gitignore +++ b/example/.gitignore @@ -79,6 +79,8 @@ unlinked_spec.ds **/ios/Flutter/flutter_assets/ **/ios/ServiceDefinitions.json **/ios/Runner/GeneratedPluginRegistrant.* +**/.build/ +**/swiftpm/ # Exceptions to above rules. !**/ios/**/default.mode1v3 diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift index bfbd7948..a74e882e 100644 --- a/example/ios/Runner/AppDelegate.swift +++ b/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @main @objc class AppDelegate: FlutterAppDelegate { diff --git a/ios/.gitignore b/ios/.gitignore index 710ec6cf..e5fc15be 100644 --- a/ios/.gitignore +++ b/ios/.gitignore @@ -34,3 +34,4 @@ Icon? .tags* /Flutter/Generated.xcconfig +.swiftpm/ diff --git a/ios/Assets/.gitkeep b/ios/Assets/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/ios/appsflyer_sdk.podspec b/ios/appsflyer_sdk.podspec index 34981194..7b509d85 100644 --- a/ios/appsflyer_sdk.podspec +++ b/ios/appsflyer_sdk.podspec @@ -18,8 +18,8 @@ Pod::Spec.new do |s| end s.subspec 'Core' do |ss| - ss.source_files = 'Classes/**/*' - ss.public_header_files = 'Classes/**/*.h' + ss.source_files = 'appsflyer_sdk/Sources/**/*.{h,m}' + ss.public_header_files = 'appsflyer_sdk/Sources/appsflyer_sdk/include/**/*.h' ss.dependency 'Flutter' ss.ios.dependency 'AppsFlyerFramework','6.18.0' end @@ -27,9 +27,7 @@ Pod::Spec.new do |s| s.subspec 'PurchaseConnector' do |ss| ss.dependency 'Flutter' ss.ios.dependency 'PurchaseConnector', '6.18.0' - ss.source_files = 'PurchaseConnector/**/*' - ss.public_header_files = 'PurchaseConnector/**/*.h' - + ss.source_files = 'appsflyer_sdk/Sources/purchase_connector/**/*.{swift}' ss.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) ENABLE_PURCHASE_CONNECTOR=1' } end end diff --git a/ios/appsflyer_sdk/Package.resolved b/ios/appsflyer_sdk/Package.resolved new file mode 100644 index 00000000..513320a3 --- /dev/null +++ b/ios/appsflyer_sdk/Package.resolved @@ -0,0 +1,14 @@ +{ + "pins" : [ + { + "identity" : "appsflyerframework", + "kind" : "remoteSourceControl", + "location" : "https://github.com/AppsFlyerSDK/AppsFlyerFramework", + "state" : { + "revision" : "a5ec9fcd848421a5bd08287e891fb103ecc65907", + "version" : "6.18.0" + } + } + ], + "version" : 2 +} diff --git a/ios/appsflyer_sdk/Package.swift b/ios/appsflyer_sdk/Package.swift new file mode 100644 index 00000000..a2e06680 --- /dev/null +++ b/ios/appsflyer_sdk/Package.swift @@ -0,0 +1,56 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription +import Foundation + +let purchaseConnectorEnabled = ProcessInfo.processInfo.environment["ENABLE_PURCHASE_CONNECTOR"] == "1" + +var dependencies: [Package.Dependency] = [ + .package( + url: "https://github.com/AppsFlyerSDK/AppsFlyerFramework", + exact: "6.18.0" + ) +] + +var appsflyerSdkDependencies: [Target.Dependency] = [ + .product(name: "AppsFlyerLib", package: "AppsFlyerFramework") +] + +if purchaseConnectorEnabled { + dependencies.append( + .package( + url: "https://github.com/AppsFlyerSDK/appsflyer-apple-purchase-connector", + exact: "6.18.0" + ) + ) + + appsflyerSdkDependencies.append("purchase_connector") +} + +let package = Package( + name: "appsflyer_sdk", + platforms: [ + .iOS("12.0") + ], + products: [ + .library(name: "appsflyer-sdk", type: .static, targets: ["appsflyer_sdk"]) + ], + dependencies: dependencies, + targets: [ + .target( + name: "appsflyer_sdk", + dependencies: appsflyerSdkDependencies, + cSettings: [ + .headerSearchPath("include/appsflyer_sdk") + ] + ), + purchaseConnectorEnabled ? + .target( + name: "purchase_connector", + dependencies: [ + .product(name: "PurchaseConnector", package: "appsflyer-apple-purchase-connector") + ] + ) : nil + ].compactMap { $0 } +) diff --git a/ios/Classes/AppsFlyerAttribution.m b/ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsFlyerAttribution.m similarity index 98% rename from ios/Classes/AppsFlyerAttribution.m rename to ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsFlyerAttribution.m index 0ed55ca8..e1136f1b 100644 --- a/ios/Classes/AppsFlyerAttribution.m +++ b/ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsFlyerAttribution.m @@ -6,7 +6,7 @@ // #import -#import "AppsFlyerAttribution.h" +#import "./include/appsflyer_sdk/AppsFlyerAttribution.h" @implementation AppsFlyerAttribution diff --git a/ios/Classes/AppsFlyerStreamHandler.m b/ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsFlyerStreamHandler.m similarity index 98% rename from ios/Classes/AppsFlyerStreamHandler.m rename to ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsFlyerStreamHandler.m index 42404a3f..eb7f99db 100644 --- a/ios/Classes/AppsFlyerStreamHandler.m +++ b/ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsFlyerStreamHandler.m @@ -5,7 +5,7 @@ // Created by Shahar Cohen on 05/09/2019. // -#import "AppsFlyerStreamHandler.h" +#import "./include/appsflyer_sdk/AppsFlyerStreamHandler.h" @implementation AppsFlyerStreamHandler { diff --git a/ios/Classes/AppsflyerSdkPlugin.m b/ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsflyerSdkPlugin.m similarity index 99% rename from ios/Classes/AppsflyerSdkPlugin.m rename to ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsflyerSdkPlugin.m index 3a827814..0df550a0 100644 --- a/ios/Classes/AppsflyerSdkPlugin.m +++ b/ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsflyerSdkPlugin.m @@ -1,5 +1,5 @@ -#import "AppsflyerSdkPlugin.h" -#import "AppsFlyerStreamHandler.h" +#import "./include/appsflyer_sdk/AppsflyerSdkPlugin.h" +#import "./include/appsflyer_sdk/AppsFlyerStreamHandler.h" #import #ifdef ENABLE_PURCHASE_CONNECTOR diff --git a/ios/Classes/AppsFlyerAttribution.h b/ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/AppsFlyerAttribution.h similarity index 100% rename from ios/Classes/AppsFlyerAttribution.h rename to ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/AppsFlyerAttribution.h diff --git a/ios/Classes/AppsFlyerStreamHandler.h b/ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/AppsFlyerStreamHandler.h similarity index 100% rename from ios/Classes/AppsFlyerStreamHandler.h rename to ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/AppsFlyerStreamHandler.h diff --git a/ios/Classes/AppsflyerSdkPlugin.h b/ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/AppsflyerSdkPlugin.h similarity index 99% rename from ios/Classes/AppsflyerSdkPlugin.h rename to ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/AppsflyerSdkPlugin.h index 213d0a81..7f55fb3d 100644 --- a/ios/Classes/AppsflyerSdkPlugin.h +++ b/ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/AppsflyerSdkPlugin.h @@ -62,4 +62,3 @@ #define afCallbacksMethodChannel @"callbacks" #define afEventChannel @"af-events" #define afValidatePurchaseChannel @"af-validate-purchase" - diff --git a/ios/Classes/FlutterAppDelegate+AppsFlyerStreamHandler.h b/ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/FlutterAppDelegate+AppsFlyerStreamHandler.h similarity index 100% rename from ios/Classes/FlutterAppDelegate+AppsFlyerStreamHandler.h rename to ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/FlutterAppDelegate+AppsFlyerStreamHandler.h diff --git a/ios/PurchaseConnector/PurchaseConnectorPlugin.swift b/ios/appsflyer_sdk/Sources/purchase_connector/PurchaseConnectorPlugin.swift similarity index 100% rename from ios/PurchaseConnector/PurchaseConnectorPlugin.swift rename to ios/appsflyer_sdk/Sources/purchase_connector/PurchaseConnectorPlugin.swift