From 9d81d0300a23bf0200387d579d756b6a273d7b7a Mon Sep 17 00:00:00 2001 From: Adrian Cruz Date: Tue, 15 Oct 2019 22:20:39 -0400 Subject: [PATCH] Add Adobe Experience Platform Launch support --- Package.swift | 3 +++ Podfile | 6 ++++++ Podfile.lock | 16 +++++++++++++++- Sources/UmbrellaACPCore/ACPCoreProvider.swift | 13 +++++++++++++ .../ACPCoreProviderTests.swift | 14 ++++++++++++++ Umbrella.podspec | 5 +++++ 6 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 Sources/UmbrellaACPCore/ACPCoreProvider.swift create mode 100644 Tests/UmbrellaACPCoreTests/ACPCoreProviderTests.swift diff --git a/Package.swift b/Package.swift index 79c37f9..e2a43fb 100644 --- a/Package.swift +++ b/Package.swift @@ -9,6 +9,7 @@ let package = Package( ], products: [ .library(name: "Umbrella", targets: ["Umbrella"]), + .library(name: "UmbrellaACPCore", targets: ["UmbrellaACPCore"]), .library(name: "UmbrellaAmplitude", targets: ["UmbrellaAmplitude"]), .library(name: "UmbrellaAnswers", targets: ["UmbrellaAnswers"]), .library(name: "UmbrellaAppboy", targets: ["UmbrellaAppboy"]), @@ -20,6 +21,7 @@ let package = Package( ], targets: [ .target(name: "Umbrella"), + .target(name: "UmbrellaACPCore", dependencies: ["Umbrella"]), .target(name: "UmbrellaAmplitude", dependencies: ["Umbrella"]), .target(name: "UmbrellaAnswers", dependencies: ["Umbrella"]), .target(name: "UmbrellaAppboy", dependencies: ["Umbrella"]), @@ -29,6 +31,7 @@ let package = Package( .target(name: "UmbrellaLocalytics", dependencies: ["Umbrella"]), .target(name: "UmbrellaMixpanel", dependencies: ["Umbrella"]), .testTarget(name: "UmbrellaTests", dependencies: ["Umbrella"]), + .testTarget(name: "UmbrellaACPCoreTests", dependencies: ["UmbrellaACPCore"]), .testTarget(name: "UmbrellaAmplitudeTests", dependencies: ["UmbrellaAmplitude"]), .testTarget(name: "UmbrellaAnswersTests", dependencies: ["UmbrellaAnswers"]), .testTarget(name: "UmbrellaAppboyTests", dependencies: ["UmbrellaAppboy"]), diff --git a/Podfile b/Podfile index bba4a00..c946ee7 100644 --- a/Podfile +++ b/Podfile @@ -1,6 +1,12 @@ use_frameworks! inhibit_all_warnings! +target 'UmbrellaACPCoreTests' do + platform :ios, '10.1' + pod 'ACPUserProfile', '~> 2.0' + pod 'ACPCore', '~> 2.0' +end + target 'UmbrellaAmplitudeTests' do platform :ios, '8.0' pod 'Amplitude-iOS' diff --git a/Podfile.lock b/Podfile.lock index d100bdd..97b523d 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,4 +1,12 @@ PODS: + - ACPCore (2.3.4): + - ACPCore/iOS (= 2.3.4) + - ACPCore/iOS (2.3.4) + - ACPUserProfile (2.0.1): + - ACPCore (~> 2.0) + - ACPUserProfile/iOS (= 2.0.1) + - ACPUserProfile/iOS (2.0.1): + - ACPCore (~> 2.0) - Amplitude-iOS (4.3.1) - Answers (1.3.7): - Fabric (~> 1.7.7) @@ -85,6 +93,8 @@ PODS: - SDWebImage/Core DEPENDENCIES: + - ACPCore (~> 2.0) + - ACPUserProfile (~> 2.0) - Amplitude-iOS - Answers - Appboy-iOS-SDK @@ -96,6 +106,8 @@ DEPENDENCIES: SPEC REPOS: https://github.com/cocoapods/specs.git: + - ACPCore + - ACPUserProfile - Amplitude-iOS - Answers - Appboy-iOS-SDK @@ -115,6 +127,8 @@ SPEC REPOS: - SDWebImage SPEC CHECKSUMS: + ACPCore: 5f2ee780930ea07133fe3f2201a5f870c861663e + ACPUserProfile: d5141c8f5154e10e3a08124649ddaae13efd5131 Amplitude-iOS: df355e2be58972041acde9576a2ae97c217bf941 Answers: bca35eedaed069c392d01b9dcb2673e0f77d9926 Appboy-iOS-SDK: c245f36aafe6e1b5249a8924e598e82e1c233f5d @@ -133,6 +147,6 @@ SPEC CHECKSUMS: nanopb: 5601e6bca2dbf1ed831b519092ec110f66982ca3 SDWebImage: 624d6e296c69b244bcede364c72ae0430ac14681 -PODFILE CHECKSUM: 27e47646f9da8c60f83deba571e7d9a924c84a33 +PODFILE CHECKSUM: 41ee0806533184532cd7fd3f98e8c23bb2d835eb COCOAPODS: 1.6.1 diff --git a/Sources/UmbrellaACPCore/ACPCoreProvider.swift b/Sources/UmbrellaACPCore/ACPCoreProvider.swift new file mode 100644 index 0000000..5f70e11 --- /dev/null +++ b/Sources/UmbrellaACPCore/ACPCoreProvider.swift @@ -0,0 +1,13 @@ +import Foundation + +#if !COCOAPODS +import Umbrella +#endif + +open class ACPCoreProvider: RuntimeProviderType { + public let className: String = "ACPCore" + public let selectorName: String = "trackState:data:" + + public init() { + } +} diff --git a/Tests/UmbrellaACPCoreTests/ACPCoreProviderTests.swift b/Tests/UmbrellaACPCoreTests/ACPCoreProviderTests.swift new file mode 100644 index 0000000..9464394 --- /dev/null +++ b/Tests/UmbrellaACPCoreTests/ACPCoreProviderTests.swift @@ -0,0 +1,14 @@ +import XCTest +import Umbrella +import UmbrellaACPCore +import ACPCore + +final class ACPCoreProviderTests: XCTestCase { + func testLocalyticsProvider() { + let provider = ACPCoreProvider() + XCTAssertTrue(provider.cls === ACPCore.self) + XCTAssertNil(provider.instance) + XCTAssertEqual(provider.selector, #selector(ACPCore.trackAction(_:data:))) + XCTAssertTrue(provider.responds) + } +} diff --git a/Umbrella.podspec b/Umbrella.podspec index 029991c..7442dfb 100644 --- a/Umbrella.podspec +++ b/Umbrella.podspec @@ -20,6 +20,11 @@ Pod::Spec.new do |s| ss.source_files = "Sources/Umbrella/*.swift" end + s.subspec "ACPCore" do |ss| + ss.source_files = "Sources/UmbrellaACPCore/*.swift" + ss.dependency "Umbrella/Core" + end + s.subspec "Amplitude" do |ss| ss.source_files = "Sources/UmbrellaAmplitude/*.swift" ss.dependency "Umbrella/Core"