Skip to content

Commit 31c27b8

Browse files
committed
CORE-2088 add check for branch link, fix tvOS
1 parent 9d18bec commit 31c27b8

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

Branch-SDK/BNCPasteboard.m

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
// Copyright © 2021 Branch, Inc. All rights reserved.
77
//
88

9-
#import <UIKit/UIKit.h>
10-
#if !TARGET_OS_TV
119
#import "BNCPasteboard.h"
10+
#import <UIKit/UIKit.h>
11+
#import "Branch.h"
12+
1213
#endif
1314

1415
@implementation BNCPasteboard
@@ -38,7 +39,7 @@ - (nullable NSURL *)checkForBranchLink {
3839

3940
// triggers the end user toast message
4041
NSURL *tmp = UIPasteboard.generalPasteboard.URL;
41-
if ([self isProbableBranchLink:tmp]) {
42+
if ([Branch isBranchLink:tmp.absoluteString]) {
4243
return tmp;
4344
}
4445
}
@@ -47,9 +48,4 @@ - (nullable NSURL *)checkForBranchLink {
4748
return nil;
4849
}
4950

50-
- (BOOL)isProbableBranchLink:(NSURL *)url {
51-
// TODO: check against info.plist
52-
return YES;
53-
}
54-
5551
@end

Branch-SDK/Branch.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -782,6 +782,15 @@ typedef NS_ENUM(NSUInteger, BranchCreditHistoryOrder) {
782782
*/
783783
- (void)registerPluginName:(NSString *)name version:(NSString *)version;
784784

785+
/**
786+
Checks if a url string is a probable Branch link.
787+
788+
Checks against the Info.plist and the standard Branch list.
789+
790+
@param urlString URL as an NSString
791+
*/
792+
+ (BOOL)isBranchLink:(NSString *)urlString;
793+
785794
/**
786795
Key-value pairs to be included in the metadata on every request.
787796

Branch-SDK/Branch.m

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -805,7 +805,7 @@ - (BOOL)handleUniversalDeepLink_private:(NSString*)urlString sceneIdentifier:(NS
805805

806806
[self initUserSessionAndCallCallback:YES sceneIdentifier:sceneIdentifier];
807807

808-
return [self isBranchLink:urlString];
808+
return [Branch isBranchLink:urlString];
809809
}
810810

811811
- (BOOL)continueUserActivity:(NSUserActivity *)userActivity {
@@ -833,9 +833,9 @@ - (BOOL)continueUserActivity:(NSUserActivity *)userActivity sceneIdentifier:(NSS
833833
spotlightIdentifier = [self.contentDiscoveryManager spotlightIdentifierFromActivity:userActivity];
834834
NSURL *webURL = userActivity.webpageURL;
835835

836-
if ([self isBranchLink:userActivity.userInfo[CSSearchableItemActivityIdentifier]]) {
836+
if ([Branch isBranchLink:userActivity.userInfo[CSSearchableItemActivityIdentifier]]) {
837837
return [self handleDeepLink:[NSURL URLWithString:userActivity.userInfo[CSSearchableItemActivityIdentifier]] sceneIdentifier:sceneIdentifier];
838-
} else if (webURL != nil && [self isBranchLink:[webURL absoluteString]]) {
838+
} else if (webURL != nil && [Branch isBranchLink:[webURL absoluteString]]) {
839839
return [self handleDeepLink:webURL sceneIdentifier:sceneIdentifier];
840840
} else if (spotlightIdentifier) {
841841
self.preferenceHelper.spotlightIdentifier = spotlightIdentifier;
@@ -852,10 +852,11 @@ - (BOOL)continueUserActivity:(NSUserActivity *)userActivity sceneIdentifier:(NSS
852852
return spotlightIdentifier != nil;
853853
}
854854

855-
- (BOOL)isBranchLink:(NSString *)urlString {
855+
// checks if URL string looks like a branch link
856+
+ (BOOL)isBranchLink:(NSString *)urlString {
856857
id branchUniversalLinkDomains = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"branch_universal_link_domains"];
857858

858-
// check list in bundle
859+
// check url list in bundle
859860
if ([branchUniversalLinkDomains isKindOfClass:[NSString class]] && [urlString containsString:branchUniversalLinkDomains]) {
860861
return YES;
861862
} else if ([branchUniversalLinkDomains isKindOfClass:[NSArray class]]) {

0 commit comments

Comments
 (0)