Skip to content

Commit

Permalink
1.3.1
Browse files Browse the repository at this point in the history
  • Loading branch information
craigrouse committed Jul 25, 2017
1 parent 1bff191 commit 562bdb6
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 14 deletions.
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@ Watch this video for an overview of the installation and setup of the code:
* Use the TealiumModulesList property that may be assigned to a [TealiumConfig](/support/docs/swift_tealiumconfig.md) object to explicitly white or black list modules for enablement. This is the recommmended way to enable or disable modules.
```swift
// Sample
// This will load all modules except the TagManagment module.
// This will load all modules except the TagManagement module.
let list = TealiumModulesList(isWhitelist: false,
moduleNames: ["TagManagment"])
moduleNames: ["TagManagement"])
let config = // See TealiumConfig example below
config.setModulesList(list)
```
Expand Down Expand Up @@ -177,6 +177,14 @@ Collect | Packages and delivers track call to Tealium Collect or other custom UR


# Change Log

- 1.3.1
- Builder (used by Carthage) updated to include previously missing TealiumMulticastDelegate & TealiumLifecyclePersistentData classes in build target.
- AppData Module (build 3) fix for app_version & added new key-value:
- app_build (application build number)
- Async Module (build 4) added os x version check for dispatch queue assignment.
- Delegate Module (build 3) removed unused code.

- 1.3.0
- All modules updated to make use of simplified modules base class + new internal TealiumRequest structs that replaces the TealiumProcess & TealiumTrack structs
- Most module related files have been aggregated into single module class files for faster reference & future removal of the module subfolders.
Expand Down
16 changes: 16 additions & 0 deletions builder/tealium-swift.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,14 @@
71AF06891E562FDC001921D3 /* TealiumLifecycleModule.swift in Headers */ = {isa = PBXBuildFile; fileRef = 712184731E536099000DCE07 /* TealiumLifecycleModule.swift */; settings = {ATTRIBUTES = (Public, ); }; };
71AF068E1E5630A7001921D3 /* TealiumDelegateModule.swift in Headers */ = {isa = PBXBuildFile; fileRef = 7121846B1E53608C000DCE07 /* TealiumDelegateModule.swift */; settings = {ATTRIBUTES = (Public, ); }; };
71BAF2CA1E8DA56D00071239 /* TealiumRemoteHTTPCommandTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71BAF2C91E8DA56D00071239 /* TealiumRemoteHTTPCommandTests.swift */; };
71BE38211F2643E600BE74B6 /* TealiumMulticastDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7171AB031F017451004F59D1 /* TealiumMulticastDelegate.swift */; };
71BE38221F2643E700BE74B6 /* TealiumMulticastDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7171AB031F017451004F59D1 /* TealiumMulticastDelegate.swift */; };
71BE38231F2643E700BE74B6 /* TealiumMulticastDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7171AB031F017451004F59D1 /* TealiumMulticastDelegate.swift */; };
71BE38241F2643E800BE74B6 /* TealiumMulticastDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7171AB031F017451004F59D1 /* TealiumMulticastDelegate.swift */; };
71BE38251F26441B00BE74B6 /* TealiumLifecyclePersistentData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71DA52AF1EFF2F1B00A0D2FE /* TealiumLifecyclePersistentData.swift */; };
71BE38261F26441B00BE74B6 /* TealiumLifecyclePersistentData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71DA52AF1EFF2F1B00A0D2FE /* TealiumLifecyclePersistentData.swift */; };
71BE38271F26441C00BE74B6 /* TealiumLifecyclePersistentData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71DA52AF1EFF2F1B00A0D2FE /* TealiumLifecyclePersistentData.swift */; };
71BE38281F26441D00BE74B6 /* TealiumLifecyclePersistentData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71DA52AF1EFF2F1B00A0D2FE /* TealiumLifecyclePersistentData.swift */; };
71C376D51EE9AA1E00A991B0 /* TealiumModules.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71C376D41EE9AA1E00A991B0 /* TealiumModules.swift */; };
71C376D61EE9B21F00A991B0 /* TealiumModules.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71C376D41EE9AA1E00A991B0 /* TealiumModules.swift */; };
71C376D71EE9B22100A991B0 /* TealiumModules.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71C376D41EE9AA1E00A991B0 /* TealiumModules.swift */; };
Expand Down Expand Up @@ -1151,10 +1159,12 @@
buildActionMask = 2147483647;
files = (
7153ADEA1E7715B30020CDA5 /* TealiumDatasourceModule.swift in Sources */,
71BE38251F26441B00BE74B6 /* TealiumLifecyclePersistentData.swift in Sources */,
71F086051DDE154C008850C8 /* TealiumExtensions.swift in Sources */,
7171AB131F017B43004F59D1 /* TealiumRequestArray.swift in Sources */,
71F085F61DDE154C008850C8 /* Tealium.swift in Sources */,
711834BA1EE70EEE00E86D0F /* TealiumFileStorageModule.swift in Sources */,
71BE38211F2643E600BE74B6 /* TealiumMulticastDelegate.swift in Sources */,
71F0860A1DDE154C008850C8 /* TealiumModule.swift in Sources */,
718A73621DE35EA400A45255 /* TealiumAppDataModule.swift in Sources */,
7121846D1E53608C000DCE07 /* TealiumDelegateModule.swift in Sources */,
Expand Down Expand Up @@ -1189,6 +1199,7 @@
71F0860B1DDE154C008850C8 /* TealiumModule.swift in Sources */,
718A73631DE35EA400A45255 /* TealiumAppDataModule.swift in Sources */,
7171AB0C1F017AF2004F59D1 /* TealiumUtils.swift in Sources */,
71BE38221F2643E700BE74B6 /* TealiumMulticastDelegate.swift in Sources */,
7121846E1E53608C000DCE07 /* TealiumDelegateModule.swift in Sources */,
71D8965E1EA6B39400401643 /* UIApplication+TealiumTracker.m in Sources */,
71A9E6721E03132C008DB2CD /* TealiumAsyncModule.swift in Sources */,
Expand All @@ -1202,6 +1213,7 @@
71F085F21DDE154C008850C8 /* TealiumCollectModule.swift in Sources */,
71D8964B1EA6B28A00401643 /* TealiumRemoteCommandsModule.swift in Sources */,
7121847C1E536099000DCE07 /* TealiumLifecycleModule.swift in Sources */,
71BE38261F26441B00BE74B6 /* TealiumLifecyclePersistentData.swift in Sources */,
71F086421DDE154C008850C8 /* TealiumLoggerModule.swift in Sources */,
71F085FC1DDE154C008850C8 /* TealiumConfig.swift in Sources */,
71F086011DDE154C008850C8 /* TealiumConstants.swift in Sources */,
Expand All @@ -1226,13 +1238,15 @@
7122D5BE1DF1C9E300B1605B /* TealiumPersistentDataModule.swift in Sources */,
71F086111DDE154C008850C8 /* TealiumModuleConfig.swift in Sources */,
71F085F31DDE154C008850C8 /* TealiumCollectModule.swift in Sources */,
71BE38271F26441C00BE74B6 /* TealiumLifecyclePersistentData.swift in Sources */,
71D896501EA6B28A00401643 /* TealiumRemoteCommandsModule.swift in Sources */,
7121847D1E536099000DCE07 /* TealiumLifecycleModule.swift in Sources */,
7171AB0D1F017AF2004F59D1 /* TealiumUtils.swift in Sources */,
71F086431DDE154C008850C8 /* TealiumLoggerModule.swift in Sources */,
71F085FD1DDE154C008850C8 /* TealiumConfig.swift in Sources */,
71F086021DDE154C008850C8 /* TealiumConstants.swift in Sources */,
71F086161DDE154C008850C8 /* TealiumModulesManager.swift in Sources */,
71BE38231F2643E700BE74B6 /* TealiumMulticastDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -1253,13 +1267,15 @@
71D8962C1EA6B20500401643 /* TealiumLifecycleModule.swift in Sources */,
711834BB1EE70EEE00E86D0F /* TealiumFileStorageModule.swift in Sources */,
71C376DA1EE9B22300A991B0 /* TealiumModules.swift in Sources */,
71BE38281F26441D00BE74B6 /* TealiumLifecyclePersistentData.swift in Sources */,
71D896311EA6B20500401643 /* TealiumLoggerModule.swift in Sources */,
71D896371EA6B20500401643 /* TealiumPersistentDataModule.swift in Sources */,
7171AB0E1F017AF2004F59D1 /* TealiumUtils.swift in Sources */,
71D896421EA6B20500401643 /* TealiumVolatileDataModule.swift in Sources */,
71D896161EA6B1ED00401643 /* TealiumModule.swift in Sources */,
71D896151EA6B1D500401643 /* TealiumConfig.swift in Sources */,
7153ADED1E7715B50020CDA5 /* TealiumDatasourceModule.swift in Sources */,
71BE38241F2643E800BE74B6 /* TealiumMulticastDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
4 changes: 2 additions & 2 deletions support/docs/swift_tealiumconfig.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ moduleNames | Set of module names. No white spaces. Case insensitive | ["Collect
let config = // See TealiumConfig example above
config.setModulesList(whitelist)

// Only disable the Logger and TagManagment modules - initialize all others.
// Only disable the Logger and TagManagement modules - initialize all others.
let blacklist = TealiumModulesList(isWhitelist: false,
moduleNames: ["Logger, TagManagment"])
moduleNames: ["Logger, TagManagement"])
let anotherConfig = // See TealiumConfig example above
anotherConfig.setModulesList(list)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ class TealiumAppDataModuleTests: XCTestCase {

}

func testIsMissingKeys() {
func testIsMissingPersistentKeys() {

let emptyDict = [String:Any]()
let failingDict = ["blah":"hah"]
Expand All @@ -134,6 +134,28 @@ class TealiumAppDataModuleTests: XCTestCase {
XCTAssertFalse(TealiumAppDataModule.isMissingPersistentKeys(passingDict))

}

// Can only run within a sample app
// func testForMissingKeys() {
//
// let module = TealiumAppDataModule(delegate: nil)
// module.setNewAppData()
// let expectedKeys = ["app_build",
// "app_name",
// "app_rdns",
// "app_version",
// "app_uuid",
// "tealium_visitor_id",
// "tealium_vid"]
//
// let appData = module.appData
// for key in expectedKeys {
// if appData[key] == nil {
// XCTFail("Missing key: \(key). AppData: \(appData)")
// }
// }
//
// }
}


Expand Down
9 changes: 7 additions & 2 deletions tealium/appdata/TealiumAppDataModule.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import Foundation
// MARK: CONSTANTS
public enum TealiumAppDataKey {
static let moduleName = "appdata"
static let build = "app_build"
static let name = "app_name"
static let rdns = "app_rdns"
static let uuid = "app_uuid"
Expand All @@ -31,7 +32,7 @@ class TealiumAppDataModule : TealiumModule {
override class func moduleConfig() -> TealiumModuleConfig {
return TealiumModuleConfig(name: TealiumAppDataKey.moduleName,
priority: 500,
build: 2,
build: 3,
enabled: true)
}

Expand Down Expand Up @@ -158,9 +159,13 @@ class TealiumAppDataModule : TealiumModule {
result[TealiumAppDataKey.rdns] = rdns
}

if let version = main.infoDictionary?[kCFBundleVersionKey as String] as? String {
if let version = main.infoDictionary?["CFBundleShortVersionString"] as? String {
result[TealiumAppDataKey.version] = version
}

if let build = main.infoDictionary?[kCFBundleVersionKey as String] as? String {
result[TealiumAppDataKey.build] = build
}

return result

Expand Down
10 changes: 7 additions & 3 deletions tealium/async/TealiumAsyncModule.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class TealiumAsyncModule : TealiumModule {
override class func moduleConfig() -> TealiumModuleConfig {
return TealiumModuleConfig(name: TealiumAsyncKey.moduleName,
priority: 200,
build: 3,
build: 4,
enabled: true)
}

Expand Down Expand Up @@ -76,8 +76,12 @@ class TealiumAsyncModule : TealiumModule {
func dispatchQueue() -> DispatchQueue {

if _dispatchQueue == nil {
// _dispatchQueue = DispatchQueue(label: TealiumAsyncKey.queueName)
_dispatchQueue = DispatchQueue.global(qos: .background)
if #available(OSX 10.10, *) {
_dispatchQueue = DispatchQueue.global(qos: .background)
} else {
// Fallback on earlier versions
_dispatchQueue = DispatchQueue.global(priority: .background)
}
}

return _dispatchQueue!
Expand Down
5 changes: 1 addition & 4 deletions tealium/delegate/TealiumDelegateModule.swift
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class TealiumDelegateModule : TealiumModule {
override class func moduleConfig() -> TealiumModuleConfig {
return TealiumModuleConfig(name: TealiumDelegateKey.moduleName,
priority: 900,
build: 2,
build: 3,
enabled: true)
}

Expand All @@ -105,9 +105,6 @@ class TealiumDelegateModule : TealiumModule {
if let request = request as? TealiumEnableRequest {
enableCompletion?(request.moduleResponses)
}
if let request = request as? TealiumDisableRequest {
// delegates?.multicastDelegate.invoke {}
}
if let request = request as? TealiumTrackRequest {
delegates?.invokeTrackCompleted(forTrackProcess: request)
}
Expand Down

0 comments on commit 562bdb6

Please sign in to comment.