Skip to content

Commit b658753

Browse files
committed
Merge pull request #57 from stevestreza/master
Fixed TMOAuth crash on iOS 6 and earlier. Fixes #56
2 parents b7927ce + 9a8f98f commit b658753

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

TMTumblrSDK/Authentication/TMOAuth.m

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@
1313
#import <sys/sysctl.h>
1414
#import "TMSDKFunctions.h"
1515

16+
#ifndef __IPHONE_7_0
17+
@interface NSData (NSDeprecated)
18+
// This method was retroactively made public as of iOS 7.
19+
// https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSData_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/doc/uid/20000172-SW39
20+
- (NSString *)base64Encoding;
21+
@end
22+
#endif
23+
1624
@interface TMOAuth()
1725

1826
NSString *generateBaseString(NSString *baseURL, NSString *method, NSDictionary *headers, NSDictionary *queryParameters,
@@ -90,7 +98,13 @@ - (id)initWithURL:(NSURL *)URL method:(NSString *)method postParameters:(NSDicti
9098
NSString *keyString = [NSString stringWithFormat:@"%@&%@", consumerSecret, tokenSecret ? tokenSecret : @""];
9199

92100
NSData *hashedData = HMACSHA1(baseString, keyString);
93-
NSString *base64EncodedString = [hashedData base64EncodedStringWithOptions:0];
101+
NSString *base64EncodedString = nil;
102+
103+
if ([hashedData respondsToSelector:@selector(base64EncodedStringWithOptions:)]) {
104+
base64EncodedString = [hashedData base64EncodedStringWithOptions:0];
105+
} else {
106+
base64EncodedString = [hashedData base64Encoding];
107+
}
94108

95109
return base64EncodedString;
96110
}

0 commit comments

Comments
 (0)