Skip to content

Commit d1e87d3

Browse files
committed
fix: updated to iOS 0.12.20
1 parent 7c9f1c1 commit d1e87d3

18 files changed

+375
-207
lines changed

plugin.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ SOFTWARE.
120120

121121
<header-file src="src/ios/dependencies/Branch-SDK/BNCCallbacks.h" />
122122
<header-file src="src/ios/dependencies/Branch-SDK/BNCConfig.h" />
123+
<source-file src="src/ios/dependencies/Branch-SDK/BNCConfig.m" />
123124
<header-file src="src/ios/dependencies/Branch-SDK/BNCContentDiscoveryManager.h" />
124125
<source-file src="src/ios/dependencies/Branch-SDK/BNCContentDiscoveryManager.m" />
125126
<header-file src="src/ios/dependencies/Branch-SDK/BNCDeviceInfo.h" />

src/ios/dependencies/Branch-SDK/BNCCallbacks.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111

1212
@class BranchUniversalObject, BranchLinkProperties;
1313

14-
typedef void (^callbackWithParams) (NSDictionary * _Nonnull params, NSError * _Nullable error);
15-
typedef void (^callbackWithUrl) (NSString * _Nonnull url, NSError * _Nullable error);
14+
typedef void (^callbackWithParams) (NSDictionary * _Nullable params, NSError * _Nullable error);
15+
typedef void (^callbackWithUrl) (NSString * _Nullable url, NSError * _Nullable error);
1616
typedef void (^callbackWithStatus) (BOOL changed, NSError * _Nullable error);
1717
typedef void (^callbackWithList) (NSArray * _Nullable list, NSError * _Nullable error);
1818
typedef void (^callbackWithUrlAndSpotlightIdentifier) (NSString * _Nullable url, NSString * _Nullable spotlightIdentifier, NSError * _Nullable error);
19-
typedef void (^callbackWithBranchUniversalObject) (BranchUniversalObject * _Nonnull universalObject, BranchLinkProperties * _Nonnull linkProperties, NSError * _Nullable error);
19+
typedef void (^callbackWithBranchUniversalObject) (BranchUniversalObject * _Nullable universalObject, BranchLinkProperties * _Nullable linkProperties, NSError * _Nullable error);
2020

2121
#endif /* BNCCallbacks_h */

src/ios/dependencies/Branch-SDK/BNCConfig.h

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,9 @@
66
// Copyright (c) 2014 Branch Metrics. All rights reserved.
77
//
88

9-
#ifndef Branch_SDK_Config_h
10-
#define Branch_SDK_Config_h
9+
#import <Foundation/Foundation.h>
1110

12-
#define SDK_VERSION @"0.12.19"
13-
14-
#define BNC_PROD_ENV
15-
//#define BNC_STAGE_ENV
16-
//#define BNC_DEV_ENV
17-
18-
#ifdef BNC_PROD_ENV
19-
#define BNC_API_BASE_URL @"https://api.branch.io"
20-
#endif
21-
22-
#ifdef BNC_STAGE_ENV
23-
#define BNC_API_BASE_URL @"http://api.dev.branch.io"
24-
#endif
25-
26-
#define BNC_LINK_URL @"https://bnc.lt"
27-
28-
#ifdef BNC_DEV_ENV
29-
#define BNC_API_BASE_URL @"http://localhost:3001"
30-
#endif
31-
32-
#define BNC_API_VERSION @"v1"
33-
34-
#endif
11+
extern NSString * const SDK_VERSION;
12+
extern NSString * const BNC_API_BASE_URL;
13+
extern NSString * const BNC_LINK_URL;
14+
extern NSString * const BNC_API_VERSION;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
//
2+
// BNCConfig.c
3+
// Branch-TestBed
4+
//
5+
// Created by edward on 12/12/16.
6+
// Copyright © 2016 Branch Metrics. All rights reserved.
7+
//
8+
9+
#include "BNCConfig.h"
10+
11+
NSString * const BNC_API_BASE_URL = @"https://api.branch.io";
12+
NSString * const BNC_API_VERSION = @"v1";
13+
NSString * const BNC_LINK_URL = @"https://bnc.lt";
14+
NSString * const SDK_VERSION = @"0.12.20";

src/ios/dependencies/Branch-SDK/BNCDeviceInfo.m

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ - (id)init {
4646
self.isRealHardwareId = isRealHardwareId;
4747
self.hardwareIdType = hardwareIdType;
4848
}
49-
49+
5050
self.vendorId = [BNCSystemObserver getVendorId];
5151
self.brandName = [BNCSystemObserver getBrand];
5252
self.modelName = [BNCSystemObserver getModel];
@@ -83,10 +83,21 @@ - (id)init {
8383

8484
}
8585

86-
self.browserUserAgent =
87-
[[[UIWebView alloc]
88-
initWithFrame:CGRectZero]
89-
stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
86+
void (^setUpBrowserUserAgent)() = ^() {
87+
self.browserUserAgent = [[[UIWebView alloc]
88+
initWithFrame:CGRectZero]
89+
stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
90+
};
91+
92+
if (NSThread.isMainThread) {
93+
94+
setUpBrowserUserAgent();
95+
96+
} else {
97+
98+
dispatch_sync(dispatch_get_main_queue(), setUpBrowserUserAgent);
99+
100+
}
90101

91102
return self;
92103
}

src/ios/dependencies/Branch-SDK/BNCPreferenceHelper.m

Lines changed: 52 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -374,17 +374,20 @@ - (void)setUniversalLinkUrl:(NSString *)universalLinkUrl {
374374
}
375375

376376
- (NSString *)sessionParams {
377-
if (_sessionParams) {
378-
_sessionParams = [self readStringFromDefaults:BRANCH_PREFS_KEY_SESSION_PARAMS];
377+
@synchronized (self) {
378+
if (!_sessionParams) {
379+
_sessionParams = [self readStringFromDefaults:BRANCH_PREFS_KEY_SESSION_PARAMS];
380+
}
381+
return _sessionParams;
379382
}
380-
381-
return _sessionParams;
382383
}
383384

384385
- (void)setSessionParams:(NSString *)sessionParams {
385-
if (![_sessionParams isEqualToString:sessionParams]) {
386-
_sessionParams = sessionParams;
387-
[self writeObjectToDefaults:BRANCH_PREFS_KEY_SESSION_PARAMS value:sessionParams];
386+
@synchronized (self) {
387+
if (![_sessionParams isEqualToString:sessionParams]) {
388+
_sessionParams = sessionParams;
389+
[self writeObjectToDefaults:BRANCH_PREFS_KEY_SESSION_PARAMS value:sessionParams];
390+
}
388391
}
389392
}
390393

@@ -479,22 +482,28 @@ - (void)setRequestMetadataKey:(NSString *)key value:(NSObject *)value {
479482
}
480483

481484
- (NSMutableDictionary *)instrumentationDictionary {
482-
if (!_instrumentationDictionary) {
483-
_instrumentationDictionary = [NSMutableDictionary dictionary];
485+
@synchronized (self) {
486+
if (!_instrumentationDictionary) {
487+
_instrumentationDictionary = [NSMutableDictionary dictionary];
488+
}
489+
return _instrumentationDictionary;
484490
}
485-
return _instrumentationDictionary;
486491
}
487492

488493
- (void)addInstrumentationDictionaryKey:(NSString *)key value:(NSString *)value {
489-
if (key && value) {
490-
[self.instrumentationDictionary setObject:value forKey:key];
494+
@synchronized (self) {
495+
if (key && value) {
496+
[self.instrumentationDictionary setObject:value forKey:key];
497+
}
491498
}
492499
}
493500

494501
- (void)clearInstrumentationDictionary {
495-
NSArray *keys = [_instrumentationDictionary allKeys];
496-
for (int i = 0 ; i < [keys count]; i++) {
497-
[_instrumentationDictionary removeObjectForKey:keys[i]];
502+
@synchronized (self) {
503+
NSArray *keys = [_instrumentationDictionary allKeys];
504+
for (int i = 0 ; i < [keys count]; i++) {
505+
[_instrumentationDictionary removeObjectForKey:keys[i]];
506+
}
498507
}
499508
}
500509

@@ -606,42 +615,48 @@ - (NSDictionary *)getContentAnalyticsManifest {
606615
return (NSDictionary *)[self readObjectFromDefaults:BRANCH_PREFS_KEY_ANALYTICS_MANIFEST];
607616
}
608617

618+
609619
#pragma mark - Writing To Persistence
610620

621+
611622
- (void)writeIntegerToDefaults:(NSString *)key value:(NSInteger)value {
612-
self.persistenceDict[key] = @(value);
613-
[self persistPrefsToDisk];
623+
[self writeObjectToDefaults:key value:@(value)];
614624
}
615625

616626
- (void)writeBoolToDefaults:(NSString *)key value:(BOOL)value {
617-
self.persistenceDict[key] = @(value);
618-
[self persistPrefsToDisk];
627+
[self writeObjectToDefaults:key value:@(value)];
619628
}
620629

621630
- (void)writeObjectToDefaults:(NSString *)key value:(NSObject *)value {
622-
if (value) {
623-
self.persistenceDict[key] = value;
624-
}
625-
else {
626-
[self.persistenceDict removeObjectForKey:key];
631+
@synchronized (self) {
632+
if (value) {
633+
self.persistenceDict[key] = value;
634+
}
635+
else {
636+
[self.persistenceDict removeObjectForKey:key];
637+
}
638+
[self persistPrefsToDisk];
627639
}
628-
629-
[self persistPrefsToDisk];
630640
}
631641

632642
- (void)persistPrefsToDisk {
633643
@synchronized (self) {
634-
NSDictionary *persistenceDict = [self.persistenceDict copy];
644+
if (!self.persistenceDict) return;
645+
NSData *data = nil;
646+
@try {
647+
data = [NSKeyedArchiver archivedDataWithRootObject:self.persistenceDict];
648+
}
649+
@catch (id exception) {
650+
data = nil;
651+
[self logWarning:
652+
[NSString stringWithFormat:@"Exception creating preferences data: %@.",
653+
exception]];
654+
}
655+
if (!data) {
656+
[self logWarning:@"Can't create preferences data."];
657+
return;
658+
}
635659
NSBlockOperation *newPersistOp = [NSBlockOperation blockOperationWithBlock:^ {
636-
NSData *data = nil;
637-
@try {
638-
data = [NSKeyedArchiver archivedDataWithRootObject:persistenceDict];
639-
} @catch (id n) {
640-
}
641-
if (!data) {
642-
[self logWarning:@"Can't create preferences archive."];
643-
return;
644-
}
645660
NSError *error = nil;
646661
[data writeToURL:self.class.URLForPrefsFile
647662
options:NSDataWritingAtomic error:&error];
@@ -651,7 +666,7 @@ - (void)persistPrefsToDisk {
651666
@"Failed to persist preferences to disk: %@.", error]];
652667
}
653668
}];
654-
[self.persistPrefsQueue addOperation:newPersistOp];
669+
[self.persistPrefsQueue addOperation:newPersistOp];
655670
}
656671
}
657672

src/ios/dependencies/Branch-SDK/BNCServerRequestQueue.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
- (void)clearQueue;
2727

2828
- (BOOL)containsInstallOrOpen;
29+
- (BOOL)removeInstallOrOpen;
2930
- (BOOL)containsClose;
3031
- (BranchOpenRequest *)moveInstallOrOpenToFront:(NSInteger)networkCount;
3132

src/ios/dependencies/Branch-SDK/BNCServerRequestQueue.m

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,21 @@ - (BOOL)containsInstallOrOpen {
131131
return NO;
132132
}
133133

134+
- (BOOL)removeInstallOrOpen {
135+
@synchronized (self.queue) {
136+
for (int i = 0; i < self.queue.count; i++) {
137+
BranchOpenRequest *req = [self.queue objectAtIndex:i];
138+
// Install extends open, so only need to check open.
139+
if ([req isKindOfClass:[BranchOpenRequest class]]) {
140+
req.callback = nil;
141+
[self remove:req];
142+
return YES;
143+
}
144+
}
145+
return NO;
146+
}
147+
}
148+
134149
- (BranchOpenRequest *)moveInstallOrOpenToFront:(NSInteger)networkCount {
135150
BOOL requestAlreadyInProgress = networkCount > 0;
136151

src/ios/dependencies/Branch-SDK/BNCStrongMatchHelper.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@
66
// Copyright © 2015 Branch Metrics. All rights reserved.
77
//
88

9+
910
#import <Foundation/Foundation.h>
1011
#import <UIKit/UIKit.h>
1112

13+
1214
@interface BNCStrongMatchHelper : NSObject
1315

1416
+ (BNCStrongMatchHelper *)strongMatchHelper;
1517
- (void)createStrongMatchWithBranchKey:(NSString *)branchKey;
1618
- (BOOL)shouldDelayInstallRequest;
17-
+ (NSURL *)getUrlForCookieBasedMatchingWithBranchKey:(NSString *)branchKey redirectUrl:(NSString *)redirectUrl;
19+
+ (NSURL *)getUrlForCookieBasedMatchingWithBranchKey:(NSString *)branchKey
20+
redirectUrl:(NSString *)redirectUrl;
1821

1922
@end

0 commit comments

Comments
 (0)