Skip to content

Commit 3cd83c6

Browse files
committed
Add methods to enable/disable tracking using opt-in. Grammar fixes. Xcode 12 updates.
1 parent 10a736c commit 3cd83c6

File tree

5 files changed

+28
-10
lines changed

5 files changed

+28
-10
lines changed

Trekker.xcodeproj/project.pbxproj

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@
297297
isa = PBXProject;
298298
attributes = {
299299
LastSwiftUpdateCheck = 0710;
300-
LastUpgradeCheck = 1120;
300+
LastUpgradeCheck = 1200;
301301
ORGANIZATIONNAME = "Rens Verhoeven";
302302
TargetAttributes = {
303303
0C7FAD091BECBE8C0049C011 = {
@@ -465,6 +465,7 @@
465465
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
466466
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
467467
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
468+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
468469
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
469470
CLANG_WARN_STRICT_PROTOTYPES = YES;
470471
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -489,7 +490,7 @@
489490
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
490491
GCC_WARN_UNUSED_FUNCTION = YES;
491492
GCC_WARN_UNUSED_VARIABLE = YES;
492-
IPHONEOS_DEPLOYMENT_TARGET = 9.1;
493+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
493494
MTL_ENABLE_DEBUG_INFO = YES;
494495
ONLY_ACTIVE_ARCH = YES;
495496
SDKROOT = iphoneos;
@@ -520,6 +521,7 @@
520521
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
521522
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
522523
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
524+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
523525
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
524526
CLANG_WARN_STRICT_PROTOTYPES = YES;
525527
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -538,7 +540,7 @@
538540
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
539541
GCC_WARN_UNUSED_FUNCTION = YES;
540542
GCC_WARN_UNUSED_VARIABLE = YES;
541-
IPHONEOS_DEPLOYMENT_TARGET = 9.1;
543+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
542544
MTL_ENABLE_DEBUG_INFO = NO;
543545
SDKROOT = iphoneos;
544546
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
@@ -554,7 +556,7 @@
554556
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
555557
CODE_SIGN_IDENTITY = "iPhone Developer";
556558
INFOPLIST_FILE = Example/Info.plist;
557-
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
559+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
558560
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
559561
PRODUCT_BUNDLE_IDENTIFIER = "co.awkward.trekker-example";
560562
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -569,7 +571,7 @@
569571
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
570572
CODE_SIGN_IDENTITY = "iPhone Developer";
571573
INFOPLIST_FILE = Example/Info.plist;
572-
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
574+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
573575
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
574576
PRODUCT_BUNDLE_IDENTIFIER = "co.awkward.trekker-example";
575577
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -591,7 +593,7 @@
591593
DYLIB_INSTALL_NAME_BASE = "@rpath";
592594
INFOPLIST_FILE = Trekker/Info.plist;
593595
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
594-
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
596+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
595597
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
596598
PRODUCT_BUNDLE_IDENTIFIER = co.awkward.trekker;
597599
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -617,7 +619,7 @@
617619
DYLIB_INSTALL_NAME_BASE = "@rpath";
618620
INFOPLIST_FILE = Trekker/Info.plist;
619621
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
620-
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
622+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
621623
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
622624
PRODUCT_BUNDLE_IDENTIFIER = co.awkward.trekker;
623625
PRODUCT_NAME = "$(TARGET_NAME)";

Trekker.xcodeproj/xcshareddata/xcschemes/Trekker.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1130"
3+
LastUpgradeVersion = "1200"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

Trekker.xcodeproj/xcshareddata/xcschemes/TrekkerExample.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1130"
3+
LastUpgradeVersion = "1200"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

Trekker/Trekker.swift

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public final class Trekker: NSObject {
1818

1919
//MARK: - Public configurable or readable variables
2020

21-
/// If the Trekker itself should handle sesstion state updates automaticlly.
21+
/// If the Trekker itself should handle session state updates automatically.
2222
///
2323
/// - important: If this is disbale, you are responsible to call the following methods yourself:
2424
/// - `func startTracking()`
@@ -71,6 +71,15 @@ public final class Trekker: NSObject {
7171
NotificationCenter.default.addObserver(self, selector: #selector(Trekker.endTracking(_:)), name: UIApplication.willTerminateNotification, object: nil)
7272
}
7373
}
74+
75+
/// Enables/disables tracking within all registered services.
76+
/// This method can be used if Tracking is opt-in for legal reasons.
77+
/// Each service should respect this setting individually using the optional `setTrackingEnabled(_:)` method.
78+
///
79+
/// - Parameter enabled: Whether or not tracking should be enabled.
80+
public func setTrackingEnabled(_ enabled: Bool) {
81+
services.forEach { $0.setTrackingEnabled(enabled) }
82+
}
7483

7584
// MARK: - Session state
7685

Trekker/TrekkerService.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ public protocol TrekkerService {
3838

3939
/// Called when the Trekker has been stopped using `func stopTracking()`. Some services can use this to end a session.
4040
func stop()
41+
42+
/// Called when Tracking is opt-in to enable/disable tracking.
43+
func setTrackingEnabled(_ enabled: Bool)
4144
}
4245

4346
public extension TrekkerService {
@@ -57,4 +60,8 @@ public extension TrekkerService {
5760
func stop() {
5861
// Empty implementation to make the implementation optional.
5962
}
63+
64+
func setTrackingEnabled(_ enabled: Bool) {
65+
// Empty implementation to make the implementation optional.
66+
}
6067
}

0 commit comments

Comments
 (0)