diff --git a/Branch.framework/Info.plist b/Branch.framework/Info.plist
index e2dc266a6..9416d6cc5 100644
--- a/Branch.framework/Info.plist
+++ b/Branch.framework/Info.plist
@@ -17,11 +17,11 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 0.23.5
+ 0.24.0
CFBundleSignature
????
CFBundleVersion
- 0.23.5
+ 0.24.0
LSRequiresIPhoneOS
NSHumanReadableCopyright
diff --git a/Branch.framework/Versions/A/Branch b/Branch.framework/Versions/A/Branch
index becd7db02..b3039055d 100644
Binary files a/Branch.framework/Versions/A/Branch and b/Branch.framework/Versions/A/Branch differ
diff --git a/Branch.framework/Versions/A/Headers/BNCError.h b/Branch.framework/Versions/A/Headers/BNCError.h
index 7e6e36c5c..6b61b7a66 100644
--- a/Branch.framework/Versions/A/Headers/BNCError.h
+++ b/Branch.framework/Versions/A/Headers/BNCError.h
@@ -30,6 +30,7 @@ typedef NS_ENUM(NSInteger, BNCErrorCode) {
BNCRedeemZeroCreditsError = 1012,
BNCSpotlightIdentifierError = 1013,
BNCSpotlightPublicIndexError = 1014,
+ BNCTrackingDisabledError = 1015,
BNCHighestError,
};
diff --git a/Branch.framework/Versions/A/Headers/BNCLinkCache.h b/Branch.framework/Versions/A/Headers/BNCLinkCache.h
index 5c23e861a..2d6e99868 100644
--- a/Branch.framework/Versions/A/Headers/BNCLinkCache.h
+++ b/Branch.framework/Versions/A/Headers/BNCLinkCache.h
@@ -11,4 +11,5 @@
@interface BNCLinkCache : NSObject
- (void)setObject:(NSString *)anObject forKey:(BNCLinkData *)aKey;
- (NSString *)objectForKey:(BNCLinkData *)aKey;
+- (void) clear;
@end
diff --git a/Branch.framework/Versions/A/Headers/BNCLog.h b/Branch.framework/Versions/A/Headers/BNCLog.h
index 613222870..c88a9f632 100644
--- a/Branch.framework/Versions/A/Headers/BNCLog.h
+++ b/Branch.framework/Versions/A/Headers/BNCLog.h
@@ -131,7 +131,7 @@ extern BNCLogFlushFunctionPtr _Nullable BNCLogFlushFunction(void);
extern void BNCLogWriteMessageFormat(
BNCLogLevel logLevel,
const char *_Nullable sourceFileName,
- int sourceLineNumber,
+ int32_t sourceLineNumber,
id _Nullable messageFormat,
...
);
@@ -140,7 +140,7 @@ extern void BNCLogWriteMessageFormat(
extern void BNCLogWriteMessage(
BNCLogLevel logLevel,
NSString *_Nonnull sourceFileName,
- NSUInteger sourceLineNumber,
+ int32_t sourceLineNumber,
NSString *_Nonnull message
);
diff --git a/Branch.framework/Versions/A/Headers/BNCPreferenceHelper.h b/Branch.framework/Versions/A/Headers/BNCPreferenceHelper.h
index 0e5584304..b2deb630a 100644
--- a/Branch.framework/Versions/A/Headers/BNCPreferenceHelper.h
+++ b/Branch.framework/Versions/A/Headers/BNCPreferenceHelper.h
@@ -54,6 +54,9 @@ NSURL* /* _Nonnull */ BNCURLForBranchDirectory(void);
@property (strong, atomic) NSArray *URLBlackList;
@property (assign, atomic) NSInteger URLBlackListVersion;
+@property (assign, atomic) BOOL trackingDisabled;
+- (void) clearTrackingInformation;
+
+ (BNCPreferenceHelper *)preferenceHelper;
- (NSString *)getAPIBaseURL;
@@ -88,6 +91,7 @@ NSURL* /* _Nonnull */ BNCURLForBranchDirectory(void);
- (NSDictionary *)getContentAnalyticsManifest;
- (void)saveContentAnalyticsManifest:(NSDictionary *)cdManifest;
+- (NSMutableString*) sanitizedMutableBaseURL:(NSString*)baseUrl;
- (void) synchronize; // Flushes preference queue to persistence.
@end
diff --git a/Branch.framework/Versions/A/Headers/Branch.h b/Branch.framework/Versions/A/Headers/Branch.h
index 6e3471a78..48d40628d 100644
--- a/Branch.framework/Versions/A/Headers/Branch.h
+++ b/Branch.framework/Versions/A/Headers/Branch.h
@@ -230,6 +230,8 @@ typedef NS_ENUM(NSUInteger, BranchCreditHistoryOrder) {
/// @return Returns the current Branch key.
+ (NSString*) branchKey;
++ (BOOL) branchKeyIsSet;
+
/**
* By default, the Branch SDK will include the device fingerprint ID as metadata in Crashlytics
* reports. This can help locate problems by correlating API traffic with a crash. To
@@ -678,6 +680,29 @@ typedef NS_ENUM(NSUInteger, BranchCreditHistoryOrder) {
- (void)setInstallRequestDelay:(NSInteger)installRequestDelay;
+/**
+ Disables the Branch SDK from tracking the user. This is useful for GDPR privacy compliance.
+
+ When tracking is disabled, the Branch SDK will clear the Branch defaults of user identifying
+ information and prevent Branch from making any Branch network calls that will track the user.
+
+ Note that:
+
+ * Opening Branch deep links with an explicit URL will work.
+ * Deferred deep linking will not work.
+ * Generating short links will not work and will return long links instead.
+ * Sending user tracking events such as `userCompletedAction`, `BranchCommerceEvents`, and
+ `BranchEvents` will fail.
+ * User rewards and credits will not work.
+ * Setting a user identity and logging a user identity out will not work.
+
+ @param disabled If set to `true` then tracking will be disabled.
+ @warning This will prevent most of the Branch SDK functionality.
+*/
++ (void) setTrackingDisabled:(BOOL)disabled;
+
+///Returns the current tracking state.
++ (BOOL) trackingDisabled;
#pragma mark - Session Item methods
diff --git a/Branch.framework/Versions/A/Headers/BranchEvent.h b/Branch.framework/Versions/A/Headers/BranchEvent.h
index 0ae043338..2ff070d8a 100644
--- a/Branch.framework/Versions/A/Headers/BranchEvent.h
+++ b/Branch.framework/Versions/A/Headers/BranchEvent.h
@@ -72,3 +72,16 @@ FOUNDATION_EXPORT BranchStandardEvent _Nonnull BranchStandardEventUnlockAchievem
- (NSDictionary*_Nonnull) dictionary; //!< Returns a dictionary representation of the event.
- (NSString* _Nonnull) description; //!< Returns a string description of the event.
@end
+
+#pragma mark - BranchEventRequest
+
+@interface BranchEventRequest : BNCServerRequest
+
+- (instancetype _Nonnull) initWithServerURL:(NSURL*_Nonnull)serverURL
+ eventDictionary:(NSDictionary*_Nullable)eventDictionary
+ completion:(void (^_Nullable)(NSDictionary*_Nullable response, NSError*_Nullable error))completion;
+
+@property (strong) NSDictionary*_Nullable eventDictionary;
+@property (strong) NSURL*_Nullable serverURL;
+@property (copy) void (^_Nullable completion)(NSDictionary*_Nullable response, NSError*_Nullable error);
+@end
diff --git a/checksum b/checksum
index ab28ca4fd..43d91ec1b 100644
--- a/checksum
+++ b/checksum
@@ -1,4 +1,4 @@
#checksum for Branch-iOS-SDK found at https://s3-us-west-1.amazonaws.com/branchhost/Branch-iOS-SDK.zip
-a9a64a86b6068c564feb9905188c36bfc93f1a71 Branch-iOS-SDK.zip
+39ffa1a7ed07fee4370534e2baab39fa26985c21 Branch-iOS-SDK.zip
#checksum for Branch-iOS-TestBed found at https://s3-us-west-1.amazonaws.com/branchhost/Branch-iOS-TestBed.zip
-037cc2c49045ebbe2578af27268fa5496a39c7d7 Branch-iOS-TestBed.zip
+2c15a83013806369afdb4044d36f196244b4b179 Branch-iOS-TestBed.zip