File tree Expand file tree Collapse file tree 8 files changed +46
-4
lines changed
Branch-TestBed-UITests/UITestBed Expand file tree Collapse file tree 8 files changed +46
-4
lines changed Original file line number Diff line number Diff line change @@ -53,6 +53,7 @@ NSURL* /* _Nonnull */ BNCURLForBranchDirectory(void);
5353
5454@property (strong , atomic ) NSArray <NSString*> *URLBlackList;
5555@property (assign , atomic ) NSInteger URLBlackListVersion;
56+ @property (assign , atomic ) BOOL blacklistURLOpen;
5657
5758@property (assign , atomic ) BOOL trackingDisabled;
5859- (void ) clearTrackingInformation ;
Original file line number Diff line number Diff line change @@ -571,6 +571,19 @@ - (void) setURLBlackListVersion:(NSInteger)URLBlackListVersion {
571571 }
572572}
573573
574+ - (BOOL ) blacklistURLOpen {
575+ @synchronized (self) {
576+ return [self readBoolFromDefaults: @" blacklistURLOpen" ];
577+ }
578+ }
579+
580+ - (void ) setBlacklistURLOpen : (BOOL )value {
581+ @synchronized (self) {
582+ [self writeBoolToDefaults: @" blacklistURLOpen" value: value];
583+ }
584+ }
585+
586+
574587- (BOOL ) trackingDisabled {
575588 @synchronized (self) {
576589 NSNumber *b = (id ) [self readObjectFromDefaults: @" trackingDisabled" ];
Original file line number Diff line number Diff line change @@ -717,10 +717,18 @@ - (BOOL)handleDeepLink:(NSURL *)url fromSelf:(BOOL)isFromSelf {
717717 blackListPattern = [_userURLBlackList blackListPatternMatchingURL: url];
718718 }
719719 if (blackListPattern) {
720- [self handleUniversalDeepLink_private: blackListPattern fromSelf: isFromSelf];
720+ self.preferenceHelper .blacklistURLOpen = YES ;
721+ self.preferenceHelper .externalIntentURI = blackListPattern;
722+ self.preferenceHelper .referringURL = blackListPattern;
723+ [self initUserSessionAndCallCallback: !self .isInitialized];
721724 return NO ;
722725 }
723726
727+ self.preferenceHelper .blacklistURLOpen = NO ;
728+ self.preferenceHelper .referringURL = nil ;
729+ self.preferenceHelper .externalIntentURI = nil ;
730+ self.preferenceHelper .universalLinkUrl = nil ;
731+
724732 NSString *scheme = [url scheme ];
725733 if ([scheme isEqualToString: @" http" ] || [scheme isEqualToString: @" https" ]) {
726734 return [self handleUniversalDeepLink_private: url.absoluteString fromSelf: isFromSelf];
Original file line number Diff line number Diff line change @@ -612,7 +612,6 @@ - (void)genericHTTPRequest:(NSURLRequest *)request
612612 (prefs.spotlightIdentifier .length > 0 ) ||
613613 (prefs.universalLinkUrl .length > 0 ))) {
614614 // Allow this network operation since it's an open/install to resolve a link.
615- NSLog (@" Yope!" ); // EBS eDebug
616615 } else {
617616 [[BNCPreferenceHelper preferenceHelper ] clearTrackingInformation ];
618617 NSError *error = [NSError branchErrorWithCode: BNCTrackingDisabledError];
Original file line number Diff line number Diff line change @@ -137,6 +137,16 @@ + (NSNumber*) appUpdateState {
137137}
138138
139139- (void )processResponse : (BNCServerResponse *)response error : (NSError *)error {
140+ BNCPreferenceHelper *preferenceHelper = [BNCPreferenceHelper preferenceHelper ];
141+ if (error && preferenceHelper.blacklistURLOpen ) {
142+ // Ignore this response from the server. Dummy up a response:
143+ error = nil ;
144+ response.data = @{
145+ BRANCH_RESPONSE_KEY_SESSION_DATA: @{
146+ BRANCH_RESPONSE_KEY_CLICKED_BRANCH_LINK: @0
147+ }
148+ };
149+ } else
140150 if (error) {
141151 [BranchOpenRequest releaseOpenResponseLock ];
142152 if (self.callback ) {
@@ -145,7 +155,6 @@ - (void)processResponse:(BNCServerResponse *)response error:(NSError *)error {
145155 return ;
146156 }
147157
148- BNCPreferenceHelper *preferenceHelper = [BNCPreferenceHelper preferenceHelper ];
149158 NSDictionary *data = response.data ;
150159
151160 // Handle possibly mis-parsed identity.
@@ -243,6 +252,7 @@ - (void)processResponse:(BNCServerResponse *)response error:(NSError *)error {
243252 preferenceHelper.externalIntentURI = nil ;
244253 preferenceHelper.appleSearchAdNeedsSend = NO ;
245254 preferenceHelper.referringURL = referringURL;
255+ preferenceHelper.blacklistURLOpen = NO ;
246256
247257 NSString *string = BNCStringFromWireFormat (data[BRANCH_RESPONSE_KEY_BRANCH_IDENTITY]);
248258 if (string) preferenceHelper.identityID = string;
Original file line number Diff line number Diff line change @@ -23,14 +23,19 @@ @implementation BNCURLBlackListTest
2323- (void ) setUp {
2424 [BNCPreferenceHelper preferenceHelper ].URLBlackList = nil ;
2525 [BNCPreferenceHelper preferenceHelper ].URLBlackListVersion = 0 ;
26+ [BNCPreferenceHelper preferenceHelper ].blacklistURLOpen = NO ;
27+ }
28+
29+ - (void ) tearDown {
30+ [BNCPreferenceHelper preferenceHelper ].blacklistURLOpen = NO ;
2631}
2732
2833- (void )testListDownLoad {
2934 XCTestExpectation *expectation = [self expectationWithDescription: @" BlackList Download" ];
3035 BNCURLBlackList *blackList = [BNCURLBlackList new ];
3136 [blackList refreshBlackListFromServerWithCompletion: ^ (NSError *error, NSArray *list) {
3237 XCTAssertNil (error);
33- XCTAssertTrue (list.count == 7 );
38+ XCTAssertTrue (list.count == 6 );
3439 [expectation fulfill ];
3540 }];
3641 [self awaitExpectations ];
Original file line number Diff line number Diff line change 2424 <key >CFBundleURLSchemes </key >
2525 <array >
2626 <string >branchuitest </string >
27+ <string >fb123 </string >
2728 </array >
2829 </dict >
2930 </array >
Original file line number Diff line number Diff line change 11Branch iOS SDK Change Log
22
3+ - v0.24.2
4+ * _ * Master Release* _ - April 19, 2018
5+ * Fixed a bug where a opening a blacklisted URI scheme would cause an HTTP status 400 for each
6+ Branch open until the app was opened with a universal link.
7+
38- v0.24.1
49 * _ * Master Release* _ - April 5, 2018
510 * Updated the SDK for Xcode 9.3 and Swift 4.1.
You can’t perform that action at this time.
0 commit comments