Added fallback code to convert percent-escapes in URL for downloaded keyboard for version of OS where stringByRemovingPercentEncoding is not available.

This commit is contained in:
Tom Bogle 2017-10-31 22:17:44 -04:00
parent 7423d1a1ab
commit db8712bae8

View file

@ -91,8 +91,17 @@ typedef enum {
NSUInteger index = NSNotFound;
if ((index = [value rangeOfString:@"filename="].location) != NSNotFound)
_downloadFilename = [NSString stringWithString:[value substringFromIndex:index+9]];
else if ((index = [value rangeOfString:@"url="].location) != NSNotFound)
downloadUrl = [NSURL URLWithString:[[NSString stringWithString:[value substringFromIndex:index+4]] stringByRemovingPercentEncoding]];
else if ((index = [value rangeOfString:@"url="].location) != NSNotFound) {
NSString *urlString = [NSString stringWithString:[value substringFromIndex:index+4]];
@try {
urlString = [urlString stringByRemovingPercentEncoding];
}
@catch (NSException *e) {
// Must be an OS version prior to 10.9 - try this (now deprecated) method instead:
urlString = [urlString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
downloadUrl = [NSURL URLWithString:urlString];
}
}
if (downloadUrl && _downloadFilename) {