2626static NSString * const BRANCH_PREFS_KEY_LAST_RUN_BRANCH_KEY = @" bnc_last_run_branch_key" ;
2727static NSString * const BRANCH_PREFS_KEY_LAST_STRONG_MATCH_DATE = @" bnc_strong_match_created_date" ;
2828
29+ static NSString * const BRANCH_PREFS_KEY_API_URL = @" bnc_api_url" ;
30+ static NSString * const BRANCH_PREFS_KEY_PATTERN_LIST_URL = @" bnc_pattern_list_url" ;
31+
2932static NSString * const BRANCH_PREFS_KEY_RANDOMIZED_DEVICE_TOKEN = @" bnc_randomized_device_token" ;
3033static NSString * const BRANCH_PREFS_KEY_RANDOMIZED_BUNDLE_TOKEN = @" bnc_randomized_bundle_token" ;
3134
@@ -108,7 +111,8 @@ @implementation BNCPreferenceHelper
108111 highestConversionValueSent = _highestConversionValueSent,
109112 logInAppPurchasesAsBranchEvents = _logInAppPurchasesAsBranchEvents,
110113 referringURLQueryParameters = _referringURLQueryParameters,
111- anonID = _anonID;
114+ anonID = _anonID,
115+ patternListURL = _patternListURL;
112116
113117+ (BNCPreferenceHelper *)sharedInstance {
114118 static BNCPreferenceHelper *preferenceHelper;
@@ -131,7 +135,6 @@ - (instancetype)init {
131135 _persistPrefsQueue = [[NSOperationQueue alloc ] init ];
132136 _persistPrefsQueue.maxConcurrentOperationCount = 1 ;
133137
134- self.patternListURL = @" https://cdn.branch.io" ;
135138 self.disableAdNetworkCallouts = NO ;
136139 }
137140 return self;
@@ -150,13 +153,18 @@ - (void) dealloc {
150153- (void ) setBranchAPIURL : (NSString *)branchAPIURL_ {
151154 @synchronized (self) {
152155 _branchAPIURL = [branchAPIURL_ copy ];
156+ [self writeObjectToDefaults: BRANCH_PREFS_KEY_API_URL value: _branchAPIURL];
153157 }
154158}
155159
156160- (NSString *) branchAPIURL {
157161 @synchronized (self) {
158162 if (!_branchAPIURL) {
163+ _branchAPIURL = [self readStringFromDefaults: BRANCH_PREFS_KEY_API_URL];
164+ }
165+ if (_branchAPIURL == nil || [_branchAPIURL isEqualToString: @" " ]) {
159166 _branchAPIURL = [BNC_API_BASE_URL copy ];
167+ [self writeObjectToDefaults: BRANCH_PREFS_KEY_API_URL value: _branchAPIURL];
160168 }
161169 return _branchAPIURL;
162170 }
@@ -181,6 +189,26 @@ - (NSString *)getEndpointFromURL:(NSString *)url {
181189 return @" " ;
182190}
183191
192+ - (void ) setPatternListURL : (NSString *)url {
193+ @synchronized (self) {
194+ _patternListURL = url;
195+ [self writeObjectToDefaults: BRANCH_PREFS_KEY_PATTERN_LIST_URL value: url];
196+ }
197+ }
198+
199+ - (NSString *) patternListURL {
200+ @synchronized (self) {
201+ if (!_patternListURL) {
202+ _patternListURL = [self readStringFromDefaults: BRANCH_PREFS_KEY_PATTERN_LIST_URL];
203+ }
204+ if (_patternListURL == nil || [_patternListURL isEqualToString: @" " ]) {
205+ _patternListURL = BNC_CDN_URL;
206+ [self writeObjectToDefaults: BRANCH_PREFS_KEY_PATTERN_LIST_URL value: _patternListURL];
207+ }
208+ return _patternListURL;
209+ }
210+ }
211+
184212#pragma mark - Preference Storage
185213
186214- (NSString *)lastRunBranchKey {
0 commit comments