From 357d736659869ea843da06379719e5785f0c4be2 Mon Sep 17 00:00:00 2001 From: Enricoza Date: Thu, 3 Feb 2022 15:25:20 +0100 Subject: [PATCH] [MT-883] Add remote command version and update package manager dependencies (#14) * [MT-883] add name and version to BrazeRemoteCommand Used by new TealiumSwift to track what commands and version are being used. Fix remote commands interoperability with TealiumSwift 2.5+ Upgrade Braze to 4.0+ * [MT-883] add SwiftPackageManager support * [MT-883] Fix project for carthage removed build phase script and manually added the frameworks * Update carthage to use binary dependency for braze SDK * Update dependencies for swift 2.6 * SPM versions up to next major * [MT-883] Add tealium metadata and remove useless initialize method * Add braze debug logging on sample --- .../contents.xcworkspacedata | 7 ++ Cartfile | 5 +- Cartfile.resolved | 3 + Package.resolved | 34 +++++++++ Package.swift | 32 ++++++++ Sources/BrazeConstants.swift | 1 + Sources/BrazeInstance.swift | 18 ++--- Sources/BrazeRemoteCommand.swift | 16 ++-- TealiumBraze.podspec | 14 ++-- TealiumBraze.xcodeproj/project.pbxproj | 74 +++++-------------- TealiumBrazeExample/Podfile | 3 +- TealiumBrazeExample/Podfile.lock | 59 +++++++++------ .../TealiumBrazeExample/Info.plist | 5 ++ 13 files changed, 167 insertions(+), 104 deletions(-) create mode 100644 .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata create mode 100644 Cartfile.resolved create mode 100644 Package.resolved create mode 100644 Package.swift diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Cartfile b/Cartfile index 4568c42..03e96f5 100644 --- a/Cartfile +++ b/Cartfile @@ -1,2 +1,3 @@ -github "tealium/tealium-swift" ~> 2.1 -binary "https://raw.githubusercontent.com/Appboy/appboy-ios-sdk/master/appboy_ios_sdk_core.json" ~> 3.2 +github "tealium/tealium-swift" ~> 2.6 +binary "https://raw.githubusercontent.com/Appboy/appboy-ios-sdk/master/appboy_ios_sdk.json" ~> 4.4 +github "SDWebImage/SDWebImage" ~> 5.12 diff --git a/Cartfile.resolved b/Cartfile.resolved new file mode 100644 index 0000000..6342700 --- /dev/null +++ b/Cartfile.resolved @@ -0,0 +1,3 @@ +binary "https://raw.githubusercontent.com/Appboy/appboy-ios-sdk/master/appboy_ios_sdk.json" "4.4.1" +github "SDWebImage/SDWebImage" "5.12.2" +github "tealium/tealium-swift" "2.5.1" diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..9ddca61 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,34 @@ +{ + "object": { + "pins": [ + { + "package": "Appboy_iOS_SDK", + "repositoryURL": "https://github.com/Appboy/appboy-ios-sdk", + "state": { + "branch": null, + "revision": "23ec2e8e337856b22801288a0f25ec5895e783a2", + "version": "4.4.1" + } + }, + { + "package": "SDWebImage", + "repositoryURL": "https://github.com/SDWebImage/SDWebImage.git", + "state": { + "branch": null, + "revision": "a72df4849408da7e5d3c1b586797b7c601c41d1b", + "version": "5.12.1" + } + }, + { + "package": "TealiumSwift", + "repositoryURL": "https://github.com/tealium/tealium-swift", + "state": { + "branch": null, + "revision": "9bd74f09c780862de61101bd147b1c6b232f98ce", + "version": "2.5.1" + } + } + ] + }, + "version": 1 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..c08e6de --- /dev/null +++ b/Package.swift @@ -0,0 +1,32 @@ +// swift-tools-version:5.1 +import PackageDescription + +let package = Package( + name: "TealiumBraze", + platforms: [ + .iOS(.v10) + ], + products: [ + .library(name: "TealiumBraze", targets: ["TealiumBraze"]) + ], + dependencies: [ + .package(url: "https://github.com/tealium/tealium-swift", .upToNextMajor(from: "2.6.0")), + .package(url: "https://github.com/Appboy/appboy-ios-sdk", .upToNextMajor(from: "4.4.1")) + ], + targets: [ + .target( + name: "TealiumBraze", + dependencies: [ + .product(name: "AppboyUI", package: "appboy-ios-sdk"), + .product(name: "TealiumCore", package: "tealium-swift"), + .product(name: "TealiumRemoteCommands", package: "tealium-swift") + ], + path: "./Sources"), + .testTarget( + name: "TealiumBrazeTests", + dependencies: [ + .target(name: "TealiumBraze") + ], + path: "./Tests") + ] +) diff --git a/Sources/BrazeConstants.swift b/Sources/BrazeConstants.swift index df5db4d..a5f0535 100644 --- a/Sources/BrazeConstants.swift +++ b/Sources/BrazeConstants.swift @@ -14,6 +14,7 @@ public enum BrazeConstants { static let separator: Character = "," static let commandId = "braze" static let description = "Braze Remote Command" + static let version = "2.1.0" enum Commands: String { case initialize = "initialize" diff --git a/Sources/BrazeInstance.swift b/Sources/BrazeInstance.swift index 9aae678..0b3c635 100644 --- a/Sources/BrazeInstance.swift +++ b/Sources/BrazeInstance.swift @@ -7,12 +7,17 @@ // import Foundation -import Appboy_iOS_SDK + +#if SWIFT_PACKAGE + import AppboyUI +#else + import Appboy_iOS_SDK +#endif + #if COCOAPODS import TealiumSwift #else import TealiumCore -import TealiumTagManagement import TealiumRemoteCommands #endif @@ -23,8 +28,6 @@ extension UIApplication: TealiumApplication { } public protocol BrazeCommand { // MARK: Initialization - func initializeBraze(apiKey: String, application: TealiumApplication, launchOptions: [AnyHashable: Any]?) - func initializeBraze(apiKey: String, application: TealiumApplication, launchOptions: [AnyHashable: Any]?, appboyOptions: [AnyHashable: Any]?) // MARK: Geofences @@ -117,15 +120,10 @@ public class BrazeInstance: BrazeCommand, BrazeCommandNotifier { public init() { } - public func initializeBraze(apiKey: String, application: TealiumApplication, launchOptions: [AnyHashable: Any]?) { - DispatchQueue.main.async { - Appboy.start(withApiKey: apiKey, in: application as? UIApplication ?? UIApplication.shared, withLaunchOptions: launchOptions) - } - } - public func initializeBraze(apiKey: String, application: TealiumApplication, launchOptions: [AnyHashable: Any]?, appboyOptions: [AnyHashable: Any]?) { DispatchQueue.main.async { Appboy.start(withApiKey: apiKey, in: application as? UIApplication ?? UIApplication.shared, withLaunchOptions: launchOptions, withAppboyOptions: appboyOptions) + Appboy.sharedInstance()?.addSdkMetadata([.tealium]) } } diff --git a/Sources/BrazeRemoteCommand.swift b/Sources/BrazeRemoteCommand.swift index bfbdfc4..8107073 100644 --- a/Sources/BrazeRemoteCommand.swift +++ b/Sources/BrazeRemoteCommand.swift @@ -7,17 +7,25 @@ // import UIKit -import Appboy_iOS_SDK + +#if SWIFT_PACKAGE + import AppboyUI +#else + import Appboy_iOS_SDK +#endif + #if COCOAPODS import TealiumSwift #else import TealiumCore - import TealiumTagManagement import TealiumRemoteCommands #endif public class BrazeRemoteCommand: RemoteCommand { + override public var version: String? { + return BrazeConstants.version + } let brazeInstance: BrazeCommand? public init(brazeInstance: BrazeCommand = BrazeInstance(), type: RemoteCommandType = .webview) { @@ -93,9 +101,7 @@ public class BrazeRemoteCommand: RemoteCommand { if let pushStoryIdentifier = payload[BrazeConstants.Keys.pushStoryIdentifier] as? String { appboyOptions[BrazeConstants.Options.ABKPushStoryAppGroupKey] = pushStoryIdentifier } - guard let launchOptions = payload[BrazeConstants.Keys.launchOptions] as? [UIApplication.LaunchOptionsKey: Any] else { - return brazeInstance.initializeBraze(apiKey: apiKey, application: UIApplication.shared, launchOptions: nil, appboyOptions: appboyOptions) - } + let launchOptions = payload[BrazeConstants.Keys.launchOptions] as? [UIApplication.LaunchOptionsKey: Any] brazeInstance.initializeBraze(apiKey: apiKey, application: UIApplication.shared, launchOptions: launchOptions, appboyOptions: appboyOptions) case .userIdentifier: guard let userIdentifier = payload[BrazeConstants.Keys.userIdentifier] as? String else { diff --git a/TealiumBraze.podspec b/TealiumBraze.podspec index e7c7c3f..3b43853 100644 --- a/TealiumBraze.podspec +++ b/TealiumBraze.podspec @@ -3,7 +3,7 @@ Pod::Spec.new do |s| # ――― Spec Metadata ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # s.name = "TealiumBraze" s.module_name = "TealiumBraze" - s.version = "2.0.0" + s.version = "2.1.0" s.summary = "Tealium Swift and Braze integration" s.description = <<-DESC Tealium's integration with Braze for iOS. @@ -21,8 +21,8 @@ Pod::Spec.new do |s| # ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― # s.swift_version = "5.0" - s.platform = :ios, "10.0" - s.ios.deployment_target = "10.0" + s.platform = :ios, "11.0" + s.ios.deployment_target = "11.0" # ――― Excluded Archs ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' } @@ -35,9 +35,9 @@ Pod::Spec.new do |s| s.ios.source_files = "Sources/*.{swift}" # ――― Dependencies ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # - s.ios.dependency 'tealium-swift/Core', '~> 2.1' - s.ios.dependency 'tealium-swift/RemoteCommands', '~> 2.1' - s.ios.dependency 'tealium-swift/TagManagement', '~> 2.1' - s.ios.dependency 'Appboy-iOS-SDK', '~> 3.2' + s.ios.dependency 'tealium-swift/Core', '~> 2.6' + s.ios.dependency 'tealium-swift/RemoteCommands', '~> 2.6' + s.ios.dependency 'tealium-swift/TagManagement', '~> 2.6' + s.ios.dependency 'Appboy-iOS-SDK', '~> 4.4' end diff --git a/TealiumBraze.xcodeproj/project.pbxproj b/TealiumBraze.xcodeproj/project.pbxproj index f09405e..37d0e38 100644 --- a/TealiumBraze.xcodeproj/project.pbxproj +++ b/TealiumBraze.xcodeproj/project.pbxproj @@ -3,10 +3,14 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ + 15A82EBB277B3E4400A29E32 /* TealiumRemoteCommands.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EB8277B3E4400A29E32 /* TealiumRemoteCommands.xcframework */; }; + 15A82EBC277B3E4400A29E32 /* TealiumCore.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EB9277B3E4400A29E32 /* TealiumCore.xcframework */; }; + 15A82EBE277B42DA00A29E32 /* SDWebImage.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EBD277B42DA00A29E32 /* SDWebImage.xcframework */; }; + 15A82EBF277B433B00A29E32 /* Appboy_iOS_SDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EB7277B3E4400A29E32 /* Appboy_iOS_SDK.xcframework */; }; 4B8DB66122E622E00074687A /* TealiumBraze.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B8DB65F22E622E00074687A /* TealiumBraze.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4BF4919B236CC47000CA46EC /* BrazeInstanceWebviewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BCDE3E822E6272D000A501B /* BrazeInstanceWebviewTests.swift */; }; 4BF4919C236CC47000CA46EC /* MockBrazeInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BCDE3E722E6272D000A501B /* MockBrazeInstance.swift */; }; @@ -15,19 +19,12 @@ CF3277C22522A38900696BB4 /* BrazeRemoteCommand.swift in Headers */ = {isa = PBXBuildFile; fileRef = CFA79626251D40DC004D4FA4 /* BrazeRemoteCommand.swift */; settings = {ATTRIBUTES = (Public, ); }; }; CF3277C32522A38900696BB4 /* BrazeInstance.swift in Headers */ = {isa = PBXBuildFile; fileRef = CFA79627251D40DC004D4FA4 /* BrazeInstance.swift */; settings = {ATTRIBUTES = (Public, ); }; }; CF3277C42522A38900696BB4 /* DateConverter.swift in Headers */ = {isa = PBXBuildFile; fileRef = CFA79624251D40DC004D4FA4 /* DateConverter.swift */; settings = {ATTRIBUTES = (Public, ); }; }; - CF4728C524194D4800F7B604 /* Appboy_iOS_SDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF4917F236CC18C00CA46EC /* Appboy_iOS_SDK.framework */; }; - CF4728C624194D4800F7B604 /* Appboy_iOS_SDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF4917F236CC18C00CA46EC /* Appboy_iOS_SDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - CFA795DC251D1709004D4FA4 /* TealiumRemoteCommands.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF49185236CC19C00CA46EC /* TealiumRemoteCommands.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - CFA795DE251D1709004D4FA4 /* TealiumTagManagement.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF49187236CC1AE00CA46EC /* TealiumTagManagement.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - CFA795E0251D1709004D4FA4 /* TealiumCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF49181236CC19400CA46EC /* TealiumCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CFA795E9251D3041004D4FA4 /* BrazeInstanceJSONTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA795E7251D2FBD004D4FA4 /* BrazeInstanceJSONTests.swift */; }; CFA79628251D40DC004D4FA4 /* DateConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA79624251D40DC004D4FA4 /* DateConverter.swift */; }; CFA79629251D40DC004D4FA4 /* BrazeConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA79625251D40DC004D4FA4 /* BrazeConstants.swift */; }; CFA7962A251D40DC004D4FA4 /* BrazeRemoteCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA79626251D40DC004D4FA4 /* BrazeRemoteCommand.swift */; }; CFA7962B251D40DC004D4FA4 /* BrazeInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA79627251D40DC004D4FA4 /* BrazeInstance.swift */; }; CFD61FE02389F78A006DFDDB /* TealiumBraze.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B8DB65C22E622E00074687A /* TealiumBraze.framework */; }; - CFD62044238C7F6F006DFDDB /* TealiumRemoteCommands.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4BF49185236CC19C00CA46EC /* TealiumRemoteCommands.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - CFD62045238C7F6F006DFDDB /* TealiumCore.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4BF49181236CC19400CA46EC /* TealiumCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -47,10 +44,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - CFA795DE251D1709004D4FA4 /* TealiumTagManagement.framework in Embed Frameworks */, - CFA795DC251D1709004D4FA4 /* TealiumRemoteCommands.framework in Embed Frameworks */, - CF4728C624194D4800F7B604 /* Appboy_iOS_SDK.framework in Embed Frameworks */, - CFA795E0251D1709004D4FA4 /* TealiumCore.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -61,25 +54,21 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - CFD62044238C7F6F006DFDDB /* TealiumRemoteCommands.framework in CopyFiles */, - CFD62045238C7F6F006DFDDB /* TealiumCore.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 4B38232C236CDDBF00C3AE37 /* SDWebImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDWebImage.framework; path = Carthage/Build/iOS/SDWebImage.framework; sourceTree = ""; }; + 15A82EB7277B3E4400A29E32 /* Appboy_iOS_SDK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Appboy_iOS_SDK.xcframework; path = Carthage/Build/Appboy_iOS_SDK.xcframework; sourceTree = ""; }; + 15A82EB8277B3E4400A29E32 /* TealiumRemoteCommands.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = TealiumRemoteCommands.xcframework; path = Carthage/Build/TealiumRemoteCommands.xcframework; sourceTree = ""; }; + 15A82EB9277B3E4400A29E32 /* TealiumCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = TealiumCore.xcframework; path = Carthage/Build/TealiumCore.xcframework; sourceTree = ""; }; + 15A82EBD277B42DA00A29E32 /* SDWebImage.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = SDWebImage.xcframework; path = Carthage/Build/SDWebImage.xcframework; sourceTree = ""; }; 4B8DB65C22E622E00074687A /* TealiumBraze.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TealiumBraze.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4B8DB65F22E622E00074687A /* TealiumBraze.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TealiumBraze.h; sourceTree = ""; }; 4B8DB66022E622E00074687A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 4BCDE3E722E6272D000A501B /* MockBrazeInstance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockBrazeInstance.swift; sourceTree = ""; }; 4BCDE3E822E6272D000A501B /* BrazeInstanceWebviewTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BrazeInstanceWebviewTests.swift; sourceTree = ""; }; - 4BF4917F236CC18C00CA46EC /* Appboy_iOS_SDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Appboy_iOS_SDK.framework; path = Carthage/Build/iOS/Appboy_iOS_SDK.framework; sourceTree = ""; }; - 4BF49181236CC19400CA46EC /* TealiumCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TealiumCore.framework; path = Carthage/Build/iOS/TealiumCore.framework; sourceTree = ""; }; - 4BF49183236CC19800CA46EC /* TealiumDelegate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TealiumDelegate.framework; path = Carthage/Build/iOS/TealiumDelegate.framework; sourceTree = ""; }; - 4BF49185236CC19C00CA46EC /* TealiumRemoteCommands.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TealiumRemoteCommands.framework; path = Carthage/Build/iOS/TealiumRemoteCommands.framework; sourceTree = ""; }; - 4BF49187236CC1AE00CA46EC /* TealiumTagManagement.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TealiumTagManagement.framework; path = Carthage/Build/iOS/TealiumTagManagement.framework; sourceTree = ""; }; 4BF4918E236CC25700CA46EC /* TealiumBrazeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TealiumBrazeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 4BF49192236CC25700CA46EC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 4BF49199236CC28000CA46EC /* HttpTestHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HttpTestHelpers.swift; sourceTree = ""; }; @@ -95,7 +84,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CF4728C524194D4800F7B604 /* Appboy_iOS_SDK.framework in Frameworks */, + 15A82EBF277B433B00A29E32 /* Appboy_iOS_SDK.xcframework in Frameworks */, + 15A82EBC277B3E4400A29E32 /* TealiumCore.xcframework in Frameworks */, + 15A82EBE277B42DA00A29E32 /* SDWebImage.xcframework in Frameworks */, + 15A82EBB277B3E4400A29E32 /* TealiumRemoteCommands.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,12 +149,10 @@ 4BF4917E236CC18C00CA46EC /* Frameworks */ = { isa = PBXGroup; children = ( - 4B38232C236CDDBF00C3AE37 /* SDWebImage.framework */, - 4BF49187236CC1AE00CA46EC /* TealiumTagManagement.framework */, - 4BF49185236CC19C00CA46EC /* TealiumRemoteCommands.framework */, - 4BF49183236CC19800CA46EC /* TealiumDelegate.framework */, - 4BF49181236CC19400CA46EC /* TealiumCore.framework */, - 4BF4917F236CC18C00CA46EC /* Appboy_iOS_SDK.framework */, + 15A82EB7277B3E4400A29E32 /* Appboy_iOS_SDK.xcframework */, + 15A82EB9277B3E4400A29E32 /* TealiumCore.xcframework */, + 15A82EB8277B3E4400A29E32 /* TealiumRemoteCommands.xcframework */, + 15A82EBD277B42DA00A29E32 /* SDWebImage.xcframework */, ); name = Frameworks; sourceTree = ""; @@ -193,7 +183,6 @@ 4B8DB65822E622E00074687A /* Sources */, 4B8DB65922E622E00074687A /* Frameworks */, 4B8DB65A22E622E00074687A /* Resources */, - 4BF49189236CC1C700CA46EC /* Carthage */, CF4728C724194D4900F7B604 /* Embed Frameworks */, ); buildRules = ( @@ -278,31 +267,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 4BF49189236CC1C700CA46EC /* Carthage */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/Carthage/Build/iOS/Appboy_iOS_SDK.framework", - "$(SRCROOT)/Carthage/Build/iOS/TealiumCore.framework", - "$(SRCROOT)/Carthage/Build/iOS/TealiumRemoteCommands.framework", - "$(SRCROOT)/Carthage/Build/iOS/TealiumTagManagement.framework", - ); - name = Carthage; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/usr/local/bin/carthage copy-frameworks\n"; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 4B8DB65822E622E00074687A /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -473,7 +437,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Carthage/Build", ); INFOPLIST_FILE = "$(SRCROOT)/Sources/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -507,7 +471,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Carthage/Build", ); INFOPLIST_FILE = "$(SRCROOT)/Sources/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; diff --git a/TealiumBrazeExample/Podfile b/TealiumBrazeExample/Podfile index b0963e1..0509dcf 100644 --- a/TealiumBrazeExample/Podfile +++ b/TealiumBrazeExample/Podfile @@ -7,6 +7,5 @@ target 'TealiumBrazeExample' do # Pods for TealiumBrazeExample pod "TealiumBraze", :path=> "../" - pod "tealium-swift/Lifecycle", "~> 2.1" - + pod "tealium-swift/Lifecycle", "~> 2.6" end diff --git a/TealiumBrazeExample/Podfile.lock b/TealiumBrazeExample/Podfile.lock index c7fd28e..115e06d 100644 --- a/TealiumBrazeExample/Podfile.lock +++ b/TealiumBrazeExample/Podfile.lock @@ -1,57 +1,70 @@ PODS: - - Appboy-iOS-SDK (3.29.0): - - Appboy-iOS-SDK/UI (= 3.29.0) - - Appboy-iOS-SDK/ContentCards (3.29.0): + - Appboy-iOS-SDK (4.4.1): + - Appboy-iOS-SDK/UI (= 4.4.1) + - Appboy-iOS-SDK/ContentCards (4.4.1): - Appboy-iOS-SDK/Core - SDWebImage (< 6, >= 5.8.2) - - Appboy-iOS-SDK/Core (3.29.0) - - Appboy-iOS-SDK/InAppMessage (3.29.0): + - Appboy-iOS-SDK/Core (4.4.1) + - Appboy-iOS-SDK/InAppMessage (4.4.1): - Appboy-iOS-SDK/Core - SDWebImage (< 6, >= 5.8.2) - - Appboy-iOS-SDK/NewsFeed (3.29.0): + - Appboy-iOS-SDK/NewsFeed (4.4.1): - Appboy-iOS-SDK/Core - SDWebImage (< 6, >= 5.8.2) - - Appboy-iOS-SDK/UI (3.29.0): + - Appboy-iOS-SDK/UI (4.4.1): - Appboy-iOS-SDK/ContentCards - Appboy-iOS-SDK/Core - Appboy-iOS-SDK/InAppMessage - Appboy-iOS-SDK/NewsFeed - - SDWebImage (5.9.3): - - SDWebImage/Core (= 5.9.3) - - SDWebImage/Core (5.9.3) - - tealium-swift/Core (2.1.0) - - tealium-swift/Lifecycle (2.1.0): + - SDWebImage (5.12.1): + - SDWebImage/Core (= 5.12.1) + - SDWebImage/Core (5.12.1) + - tealium-swift/Attribution (2.5.1): - tealium-swift/Core - - tealium-swift/RemoteCommands (2.1.0): + - tealium-swift/Collect (2.5.1): - tealium-swift/Core - - tealium-swift/TagManagement (2.1.0): + - tealium-swift/Core (2.5.1) + - tealium-swift/Lifecycle (2.5.1): + - tealium-swift/Core + - tealium-swift/RemoteCommands (2.5.1): + - tealium-swift/Core + - tealium-swift/TagManagement (2.5.1): - tealium-swift/Core - TealiumBraze (2.0.0): - - Appboy-iOS-SDK (~> 3.2) + - Appboy-iOS-SDK (~> 4.0) - tealium-swift/Core (~> 2.1) - tealium-swift/RemoteCommands (~> 2.1) - tealium-swift/TagManagement (~> 2.1) DEPENDENCIES: - - tealium-swift/Lifecycle (~> 2.1) + - tealium-swift/Attribution (from `https://github.com/Tealium/tealium-swift.git`, branch `mt-779`) + - tealium-swift/Collect (from `https://github.com/Tealium/tealium-swift.git`, branch `mt-779`) + - tealium-swift/Lifecycle (from `https://github.com/Tealium/tealium-swift.git`, branch `mt-779`) - TealiumBraze (from `../`) SPEC REPOS: trunk: - Appboy-iOS-SDK - SDWebImage - - tealium-swift EXTERNAL SOURCES: + tealium-swift: + :branch: mt-779 + :git: https://github.com/Tealium/tealium-swift.git TealiumBraze: :path: "../" +CHECKOUT OPTIONS: + tealium-swift: + :commit: db174d69eb581f944268257038cfde8b54fc4b43 + :git: https://github.com/Tealium/tealium-swift.git + SPEC CHECKSUMS: - Appboy-iOS-SDK: 1852bad2912f0eb59701b1a53aaad7f03b75d716 - SDWebImage: a31ee8e90a97303529e03fb0c333eae0eacb88e9 - tealium-swift: a670c2c6f3e7e5d775d9507387e8858a8541e526 - TealiumBraze: e8a87520713fd99c016555be10849887d18cfca7 + Appboy-iOS-SDK: 541a839e91a9176ca5c5431375b770a732f8da59 + SDWebImage: 4dc3e42d9ec0c1028b960a33ac6b637bb432207b + tealium-swift: a7c0f2b6bff641abb1818efbcf22598c99af0517 + TealiumBraze: c62530762ce255a927e66b5a3f1aacd4c2cbfa2b -PODFILE CHECKSUM: c8a9be1ccc2a80510f31ec918e56aea892cf5033 +PODFILE CHECKSUM: 9ae8861af26f8ed7e1b74e4c31bb574a27185429 -COCOAPODS: 1.10.0 +COCOAPODS: 1.10.1 diff --git a/TealiumBrazeExample/TealiumBrazeExample/Info.plist b/TealiumBrazeExample/TealiumBrazeExample/Info.plist index 16be3b6..2d668ab 100644 --- a/TealiumBrazeExample/TealiumBrazeExample/Info.plist +++ b/TealiumBrazeExample/TealiumBrazeExample/Info.plist @@ -2,6 +2,11 @@ + Braze + + LogLevel + 0 + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable