Skip to content

Commit

Permalink
[MT-1198] Remove arm64 and update remote commands (#8)
Browse files Browse the repository at this point in the history
* Update dependencies and remove duplicated tests

* Make facebook instance constant and non optional

* Update the example with dynamic versions

* Remove old HttpTestHelpers

* Add build frameworks script
  • Loading branch information
Enricoza authored Feb 14, 2023
1 parent b06f5ee commit b546b7b
Show file tree
Hide file tree
Showing 14 changed files with 275 additions and 528 deletions.
2 changes: 1 addition & 1 deletion Cartfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github "https://github.com/facebook/facebook-ios-sdk" ~> 12.2
github "https://github.com/tealium/tealium-swift" ~> 2.6
github "https://github.com/tealium/tealium-swift" ~> 2.9
4 changes: 2 additions & 2 deletions Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github "facebook/facebook-ios-sdk" "v12.2.1"
github "tealium/tealium-swift" "2.5.1"
github "facebook/facebook-ios-sdk" "v12.3.2"
github "tealium/tealium-swift" "2.9.1"
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ let package = Package(
.library(name: "TealiumFacebook", targets: ["TealiumFacebook"])
],
dependencies: [
.package(url: "https://github.com/tealium/tealium-swift", .upToNextMajor(from: "2.6.0")),
.package(url: "https://github.com/tealium/tealium-swift", .upToNextMajor(from: "2.9.0")),
.package(url: "https://github.com/facebook/facebook-ios-sdk", .upToNextMajor(from: "12.2.0"))
],
targets: [
Expand Down
2 changes: 1 addition & 1 deletion Sources/FacebookConstants.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import FBSDKCoreKit

/// All keys associated with Facebook remote command
enum FacebookConstants {
static let version = "1.2.0"
static let version = "1.3.0"
static let commandId = "facebook"
static let description = "Facebook Remote Command"
static let commandName = "command_name"
Expand Down
14 changes: 3 additions & 11 deletions Sources/FacebookRemoteCommand.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class FacebookRemoteCommand: RemoteCommand {
FacebookConstants.version
}

var facebookInstance: FacebookCommand?
let facebookInstance: FacebookCommand
var debug = false

public init(facebookInstance: FacebookCommand = FacebookInstance(), type: RemoteCommandType = .webview) {
Expand All @@ -40,9 +40,8 @@ public class FacebookRemoteCommand: RemoteCommand {
}

func processRemoteCommand(with payload: [String: Any]) {
facebookInstance?.checkAdvertiserTracking()
guard let facebookInstance = facebookInstance,
let command = payload[FacebookConstants.commandName] as? String else {
facebookInstance.checkAdvertiserTracking()
guard let command = payload[FacebookConstants.commandName] as? String else {
return
}
if let tagDebug = payload[FacebookConstants.debug] as? Bool,
Expand Down Expand Up @@ -260,10 +259,6 @@ public class FacebookRemoteCommand: RemoteCommand {
}

private func logProductItem(with productData: [String: Any]) {
guard let facebookInstance = facebookInstance else {
return
}

if let _ = productData[FacebookConstants.Product.productId] as? String {
let validatedProductData = typeCheck(productData)
do {
Expand Down Expand Up @@ -296,9 +291,6 @@ public class FacebookRemoteCommand: RemoteCommand {
}

private func setUser(with userData: [String: Any]) {
guard let facebookInstance = facebookInstance else {
return
}
do {
let json = try JSONSerialization.data(withJSONObject: userData, options: .prettyPrinted)
return facebookInstance.setUser(from: json)
Expand Down
10 changes: 3 additions & 7 deletions TealiumFacebook.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Pod::Spec.new do |s|
# ――― Spec Metadata ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.name = "TealiumFacebook"
s.module_name = "TealiumFacebook"
s.version = "1.2.0"
s.version = "1.3.0"
s.summary = "Tealium Swift and Facebook integration"
s.description = <<-DESC
Tealium's integration with Facebook for iOS.
Expand All @@ -22,19 +22,15 @@ Pod::Spec.new do |s|
s.swift_version = "5.2"
s.platform = :ios, "11.0"

# ――― Excluded Archs ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }

# ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.source = { :git => "https://github.com/Tealium/tealium-ios-facebook-remote-command.git", :tag => "#{s.version}" }

# ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.ios.source_files = "Sources/*.{swift}"

# ――― Dependencies ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
s.ios.dependency 'tealium-swift/Core', ' ~> 2.6'
s.ios.dependency 'tealium-swift/RemoteCommands', ' ~> 2.6'
s.ios.dependency 'tealium-swift/Core', ' ~> 2.9'
s.ios.dependency 'tealium-swift/RemoteCommands', ' ~> 2.9'
s.ios.dependency 'FBSDKCoreKit', ' ~> 12.2'

end
49 changes: 18 additions & 31 deletions TealiumFacebook.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,17 @@
objects = {

/* Begin PBXBuildFile section */
1589AC432996A55F00736C6B /* FBSDKCoreKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EC2277B5ED200A29E32 /* FBSDKCoreKit.xcframework */; };
1589AC442996A56200736C6B /* TealiumCore.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EC0277B5ED200A29E32 /* TealiumCore.xcframework */; };
1589AC452996A56500736C6B /* TealiumRemoteCommands.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EC1277B5ED200A29E32 /* TealiumRemoteCommands.xcframework */; };
1589AC472996A8D400736C6B /* FBAEMKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1589AC462996A8D400736C6B /* FBAEMKit.xcframework */; };
1589AC482996A8D400736C6B /* FBAEMKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1589AC462996A8D400736C6B /* FBAEMKit.xcframework */; };
1589AC4A2996A90800736C6B /* FBSDKCoreKit_Basics.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1589AC492996A90800736C6B /* FBSDKCoreKit_Basics.xcframework */; };
1589AC4B2996A90800736C6B /* FBSDKCoreKit_Basics.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1589AC492996A90800736C6B /* FBSDKCoreKit_Basics.xcframework */; };
15A82EC6277B61A600A29E32 /* FBSDKCoreKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EC2277B5ED200A29E32 /* FBSDKCoreKit.xcframework */; };
15A82EC7277B61A600A29E32 /* TealiumCore.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EC0277B5ED200A29E32 /* TealiumCore.xcframework */; };
15A82EC8277B61A600A29E32 /* TealiumRemoteCommands.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A82EC1277B5ED200A29E32 /* TealiumRemoteCommands.xcframework */; };
15A82EC9277B6FFC00A29E32 /* TealiumFacebook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CFC8D9AE232AB3A400A4987F /* TealiumFacebook.framework */; };
15A82ECC277B7E1000A29E32 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 15A82ECB277B7E1000A29E32 /* Info.plist */; };
CF0D01E0232AB5E1005BFE15 /* HttpTestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF0D01DB232AB5C9005BFE15 /* HttpTestHelpers.swift */; };
CF9B51BC232AF3BC003019F9 /* FacebookInstanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF9B51B9232AF3BB003019F9 /* FacebookInstanceTests.swift */; };
CF9B51BD232AF3BC003019F9 /* FacebookCommandTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF9B51BA232AF3BC003019F9 /* FacebookCommandTests.swift */; };
CF9B51BE232AF3BC003019F9 /* MockFacebookInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF9B51BB232AF3BC003019F9 /* MockFacebookInstance.swift */; };
Expand All @@ -34,12 +39,13 @@
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
1589AC462996A8D400736C6B /* FBAEMKit.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FBAEMKit.xcframework; path = Carthage/Build/FBAEMKit.xcframework; sourceTree = "<group>"; };
1589AC492996A90800736C6B /* FBSDKCoreKit_Basics.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FBSDKCoreKit_Basics.xcframework; path = Carthage/Build/FBSDKCoreKit_Basics.xcframework; sourceTree = "<group>"; };
15A82EC0277B5ED200A29E32 /* TealiumCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = TealiumCore.xcframework; path = Carthage/Build/TealiumCore.xcframework; sourceTree = "<group>"; };
15A82EC1277B5ED200A29E32 /* TealiumRemoteCommands.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = TealiumRemoteCommands.xcframework; path = Carthage/Build/TealiumRemoteCommands.xcframework; sourceTree = "<group>"; };
15A82EC2277B5ED200A29E32 /* FBSDKCoreKit.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FBSDKCoreKit.xcframework; path = Carthage/Build/FBSDKCoreKit.xcframework; sourceTree = "<group>"; };
15A82ECB277B7E1000A29E32 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
15A82ECE277B7E1900A29E32 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
CF0D01DB232AB5C9005BFE15 /* HttpTestHelpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HttpTestHelpers.swift; sourceTree = "<group>"; };
CF9B51B9232AF3BB003019F9 /* FacebookInstanceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FacebookInstanceTests.swift; sourceTree = "<group>"; };
CF9B51BA232AF3BC003019F9 /* FacebookCommandTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FacebookCommandTests.swift; sourceTree = "<group>"; };
CF9B51BB232AF3BC003019F9 /* MockFacebookInstance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockFacebookInstance.swift; sourceTree = "<group>"; };
Expand All @@ -59,15 +65,22 @@
files = (
15A82EC6277B61A600A29E32 /* FBSDKCoreKit.xcframework in Frameworks */,
15A82EC7277B61A600A29E32 /* TealiumCore.xcframework in Frameworks */,
1589AC472996A8D400736C6B /* FBAEMKit.xcframework in Frameworks */,
15A82EC8277B61A600A29E32 /* TealiumRemoteCommands.xcframework in Frameworks */,
1589AC4A2996A90800736C6B /* FBSDKCoreKit_Basics.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
CFC8D9DE232AB52C00A4987F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1589AC442996A56200736C6B /* TealiumCore.xcframework in Frameworks */,
1589AC4B2996A90800736C6B /* FBSDKCoreKit_Basics.xcframework in Frameworks */,
1589AC452996A56500736C6B /* TealiumRemoteCommands.xcframework in Frameworks */,
1589AC432996A55F00736C6B /* FBSDKCoreKit.xcframework in Frameworks */,
15A82EC9277B6FFC00A29E32 /* TealiumFacebook.framework in Frameworks */,
1589AC482996A8D400736C6B /* FBAEMKit.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -93,6 +106,8 @@
CF0D0214232AC282005BFE15 /* Frameworks */ = {
isa = PBXGroup;
children = (
1589AC492996A90800736C6B /* FBSDKCoreKit_Basics.xcframework */,
1589AC462996A8D400736C6B /* FBAEMKit.xcframework */,
15A82EC2277B5ED200A29E32 /* FBSDKCoreKit.xcframework */,
15A82EC0277B5ED200A29E32 /* TealiumCore.xcframework */,
15A82EC1277B5ED200A29E32 /* TealiumRemoteCommands.xcframework */,
Expand Down Expand Up @@ -139,7 +154,6 @@
CF9B51B9232AF3BB003019F9 /* FacebookInstanceTests.swift */,
CF9B51BA232AF3BC003019F9 /* FacebookCommandTests.swift */,
CF9B51BB232AF3BC003019F9 /* MockFacebookInstance.swift */,
CF0D01DB232AB5C9005BFE15 /* HttpTestHelpers.swift */,
);
path = Tests;
sourceTree = "<group>";
Expand Down Expand Up @@ -227,8 +241,6 @@
);
mainGroup = CFC8D9A4232AB3A400A4987F;
packageReferences = (
CFC7B1BB2526388000289E1B /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */,
CFAD5FF12540B472007D4EDB /* XCRemoteSwiftPackageReference "tealium-swift" */,
);
productRefGroup = CFC8D9AF232AB3A400A4987F /* Products */;
projectDirPath = "";
Expand All @@ -252,7 +264,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
15A82ECC277B7E1000A29E32 /* Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -276,7 +287,6 @@
files = (
CF9B51BC232AF3BC003019F9 /* FacebookInstanceTests.swift in Sources */,
CF9B51BD232AF3BC003019F9 /* FacebookCommandTests.swift in Sources */,
CF0D01E0232AB5E1005BFE15 /* HttpTestHelpers.swift in Sources */,
CF9B51BE232AF3BC003019F9 /* MockFacebookInstance.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -479,7 +489,6 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = XC939GDC9P;
FRAMEWORK_SEARCH_PATHS = (
Expand All @@ -496,15 +505,13 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "";
};
name = Debug;
};
CFC8D9EB232AB52C00A4987F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = XC939GDC9P;
FRAMEWORK_SEARCH_PATHS = (
Expand All @@ -521,7 +528,6 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "";
};
name = Release;
};
Expand Down Expand Up @@ -556,25 +562,6 @@
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */

/* Begin XCRemoteSwiftPackageReference section */
CFAD5FF12540B472007D4EDB /* XCRemoteSwiftPackageReference "tealium-swift" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/Tealium/tealium-swift";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 2.1.0;
};
};
CFC7B1BB2526388000289E1B /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/facebook/facebook-ios-sdk";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 12.0.0;
};
};
/* End XCRemoteSwiftPackageReference section */
};
rootObject = CFC8D9A5232AB3A400A4987F /* Project object */;
}
4 changes: 2 additions & 2 deletions TealiumFacebookExample/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ target 'TealiumFacebookExample' do

# Pods for TealiumFacebookExample
pod 'TealiumFacebook', :path=> '../'
pod 'tealium-swift/Lifecycle', '~> 2.6'
pod 'tealium-swift/TagManagement', '~> 2.6'
pod 'tealium-swift/Lifecycle'
pod 'tealium-swift/TagManagement'

end
26 changes: 13 additions & 13 deletions TealiumFacebookExample/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,21 @@ PODS:
- FBAEMKit (= 12.2.1)
- FBSDKCoreKit_Basics (= 12.2.1)
- FBSDKCoreKit_Basics (12.2.1)
- tealium-swift/Core (2.6.0)
- tealium-swift/Lifecycle (2.6.0):
- tealium-swift/Core (2.9.1)
- tealium-swift/Lifecycle (2.9.1):
- tealium-swift/Core
- tealium-swift/RemoteCommands (2.6.0):
- tealium-swift/RemoteCommands (2.9.1):
- tealium-swift/Core
- tealium-swift/TagManagement (2.6.0):
- tealium-swift/TagManagement (2.9.1):
- tealium-swift/Core
- TealiumFacebook (1.2.0):
- TealiumFacebook (1.3.0):
- FBSDKCoreKit (~> 12.2)
- tealium-swift/Core (~> 2.6)
- tealium-swift/RemoteCommands (~> 2.6)
- tealium-swift/Core (~> 2.9)
- tealium-swift/RemoteCommands (~> 2.9)

DEPENDENCIES:
- tealium-swift/Lifecycle (~> 2.6)
- tealium-swift/TagManagement (~> 2.6)
- tealium-swift/Lifecycle
- tealium-swift/TagManagement
- TealiumFacebook (from `../`)

SPEC REPOS:
Expand All @@ -37,9 +37,9 @@ SPEC CHECKSUMS:
FBAEMKit: 4cea610d0bc1680572f2aad7b25db7a2f2690d82
FBSDKCoreKit: 5b1992fe65802ca26be7e68bc4fac5f59fa39908
FBSDKCoreKit_Basics: a6a92ca628e05f86f458a4721574c5ddfb058ba3
tealium-swift: c21a759ea9ee5c382912b45e57edb9b9aa816ee5
TealiumFacebook: ecb4981a52815b84756f09b62c573e7d642d5326
tealium-swift: 137769254e97d4c9f7ed6e16e0768b40888e6452
TealiumFacebook: d9baef826faedcfc8da041619e7c36c09eb75ced

PODFILE CHECKSUM: 77edfd45ccb174681a8da36dc3e2d500740a0999
PODFILE CHECKSUM: 269f2a495ec27c79a71c89f3842a044306345277

COCOAPODS: 1.11.2
COCOAPODS: 1.11.3
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ import Foundation
import TealiumSwift
import TealiumFacebook

let tealiumFacebookVersion = "1.1.0"
let tealiumLibraryVersion = "2.4.6"

enum TealiumConfiguration {
static let account = "tealiummobile"
static let profile = "facebook-tag"
Expand Down
16 changes: 14 additions & 2 deletions TealiumFacebookExample/TealiumFacebookExample/TitleView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,24 @@
//

import SwiftUI
import TealiumSwift
import TealiumFacebook

extension Bundle {
func versionString() -> String {
guard let dictionary = self.infoDictionary,
let version = dictionary["CFBundleShortVersionString"] as? String else {
return "0.0"
}
return "\(version)"
}
}

struct TitleView: View {
@State var alertShown = false
var versions: Alert {
Alert(title: Text("Tealium Facebook \(tealiumFacebookVersion)"),
message: Text("Tealium Swift \(tealiumLibraryVersion)"),
Alert(title: Text("Tealium Facebook \(Bundle(for: FacebookRemoteCommand.self).versionString())"),
message: Text("Tealium Swift \(Bundle(for: Tealium.self).versionString())"),
dismissButton: Alert.Button.default(Text("Ok")))
}
var body: some View {
Expand Down
Loading

0 comments on commit b546b7b

Please sign in to comment.