Use @available() to check for API availability instead of -respondsToSelector:

This commit is contained in:
Pierre-Olivier Latour
2019-01-03 17:24:27 -08:00
parent 03fae468d1
commit e9fdd19830
2 changed files with 3 additions and 6 deletions
-1
View File
@@ -1238,7 +1238,6 @@
"-Wno-cstring-format-directive",
"-Wno-reserved-id-macro",
"-Wno-cast-qual",
"-Wno-partial-availability",
);
};
name = Debug;
+3 -5
View File
@@ -415,12 +415,10 @@ static inline id _GetOption(NSDictionary<NSString*, id>* options, NSString* key,
static inline NSString* _EncodeBase64(NSString* string) {
NSData* data = [string dataUsingEncoding:NSUTF8StringEncoding];
#if (TARGET_OS_IPHONE && !(__IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_0)) || (!TARGET_OS_IPHONE && !(__MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_9))
if (![data respondsToSelector:@selector(base64EncodedDataWithOptions:)]) {
return [data base64Encoding];
if (@available(macOS 10.9, iOS 7.0, tvOS 9.0, *)) {
return [[NSString alloc] initWithData:[data base64EncodedDataWithOptions:0] encoding:NSASCIIStringEncoding];
}
#endif
return [[NSString alloc] initWithData:[data base64EncodedDataWithOptions:0] encoding:NSASCIIStringEncoding];
return [data base64Encoding];
}
- (int)_createListeningSocket:(BOOL)useIPv6