mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-25 09:32:46 +00:00
Fix if JSON response is invalid or not matching our expectations.
This commit is contained in:
parent
31cbdde184
commit
d8fbd37f95
@ -1003,7 +1003,7 @@ static NSString *kHockeyErrorDomain = @"HockeyErrorDomain";
|
|||||||
BWHockeyLog(@"Received API response: %@", responseString);
|
BWHockeyLog(@"Received API response: %@", responseString);
|
||||||
|
|
||||||
id json = [self parseJSONResultString:responseString];
|
id json = [self parseJSONResultString:responseString];
|
||||||
self.trackerConfig = ([self checkForTracker] ? [json valueForKey:@"tracker"] : nil);
|
self.trackerConfig = (([self checkForTracker] && [[json valueForKey:@"tracker"] isKindOfClass:[NSDictionary class]]) ? [json valueForKey:@"tracker"] : nil);
|
||||||
|
|
||||||
if (![self isAppStoreEnvironment]) {
|
if (![self isAppStoreEnvironment]) {
|
||||||
NSArray *feedArray = (NSArray *)([self checkForTracker] ? [json valueForKey:@"versions"] : json);
|
NSArray *feedArray = (NSArray *)([self checkForTracker] ? [json valueForKey:@"versions"] : json);
|
||||||
|
|||||||
@ -101,7 +101,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
+ (BOOL)checkJMCConfiguration:(NSDictionary *)configuration {
|
+ (BOOL)checkJMCConfiguration:(NSDictionary *)configuration {
|
||||||
return (([[configuration valueForKey:@"enabled"] boolValue]) &&
|
return (([configuration isKindOfClass:[NSDictionary class]]) &&
|
||||||
|
([[configuration valueForKey:@"enabled"] boolValue]) &&
|
||||||
([[configuration valueForKey:@"url"] length] > 0) &&
|
([[configuration valueForKey:@"url"] length] > 0) &&
|
||||||
([[configuration valueForKey:@"key"] length] > 0) &&
|
([[configuration valueForKey:@"key"] length] > 0) &&
|
||||||
([[configuration valueForKey:@"project"] length] > 0));
|
([[configuration valueForKey:@"project"] length] > 0));
|
||||||
@ -395,7 +396,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
|
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
|
||||||
if ([object trackerConfig]) {
|
if (([object trackerConfig]) && ([[object trackerConfig] isKindOfClass:[NSDictionary class]])) {
|
||||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||||
NSMutableDictionary *trackerConfig = [[defaults valueForKey:@"CNSTrackerConfigurations"] mutableCopy];
|
NSMutableDictionary *trackerConfig = [[defaults valueForKey:@"CNSTrackerConfigurations"] mutableCopy];
|
||||||
if (!trackerConfig) {
|
if (!trackerConfig) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user