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 b6363034..62666446 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 64c081e6..acf4b2c1 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.17.5' end @@ -27,9 +27,7 @@ Pod::Spec.new do |s| s.subspec 'PurchaseConnector' do |ss| ss.dependency 'Flutter' ss.ios.dependency 'PurchaseConnector', '6.17.5' - 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..897bfabc --- /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" : "88269d96aed888416e5fabbe983f769aa9013d5c", + "version" : "6.17.1" + } + } + ], + "version" : 2 +} diff --git a/ios/appsflyer_sdk/Package.swift b/ios/appsflyer_sdk/Package.swift new file mode 100644 index 00000000..f01f042b --- /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.17.1" + ) +] + +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.17.1" + ) + ) + + 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 d4dacacb..bcf6479e 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 5bc2e992..a5ffb238 100644 --- a/ios/Classes/AppsflyerSdkPlugin.h +++ b/ios/appsflyer_sdk/Sources/appsflyer_sdk/include/appsflyer_sdk/AppsflyerSdkPlugin.h @@ -54,4 +54,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