Use Apple recommended way to weakly link classes

Compare https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/cross_development/Using/using.html
This commit is contained in:
Lukas Spieß
2016-01-19 02:17:27 +01:00
parent 4d3dc8dd04
commit 7900a4deb9
8 changed files with 14 additions and 28 deletions

View File

@@ -337,8 +337,7 @@ static unsigned char kBITPNGEndChunk[4] = {0x49, 0x45, 0x4e, 0x44};
return;
}
id nsurlsessionClass = NSClassFromString(@"NSURLSessionUploadTask");
BOOL isSessionSupported = (nsurlsessionClass && !bit_isRunningInAppExtension());
BOOL isSessionSupported = ([NSURLSessionDataTask class] && !bit_isRunningInAppExtension());
[self validateWithCompletion:completion sessionSupported:isSessionSupported];
}
@@ -468,8 +467,7 @@ static unsigned char kBITPNGEndChunk[4] = {0x49, 0x45, 0x4e, 0x44};
id nsurlsessionClass = NSClassFromString(@"NSURLSessionUploadTask");
BOOL isURLSessionSupported = (nsurlsessionClass && !bit_isRunningInAppExtension());
BOOL isURLSessionSupported = ([NSURLSessionDataTask class] && !bit_isRunningInAppExtension());
[self authenticationViewController:viewController handleAuthenticationWithEmail:email request:request urlSessionSupported:isURLSessionSupported completion:completion];
}

View File

@@ -1664,8 +1664,7 @@ static void uncaught_cxx_exception_handler(const BITCrashUncaughtCXXExceptionInf
- (void)sendCrashReportWithFilename:(NSString *)filename xml:(NSString*)xml attachment:(BITHockeyAttachment *)attachment {
BOOL sendingWithURLSession = NO;
id nsurlsessionClass = NSClassFromString(@"NSURLSessionUploadTask");
if (nsurlsessionClass && !bit_isRunningInAppExtension()) {
if ([NSURLSessionTask class] && !bit_isRunningInAppExtension()) {
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
__block NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];

View File

@@ -151,8 +151,7 @@
// self.view.backgroundColor = DEFAULT_BACKGROUNDCOLOR_OS7;
}
id refreshClass = NSClassFromString(@"UIRefreshControl");
if (refreshClass) {
if ([UIRefreshControl class]) {
self.refreshControl = [[UIRefreshControl alloc] init];
[self.refreshControl addTarget:self action:@selector(reloadList) forControlEvents:UIControlEventValueChanged];
} else {
@@ -163,8 +162,7 @@
}
- (void)startLoadingIndicator {
id refreshClass = NSClassFromString(@"UIRefreshControl");
if (refreshClass) {
if ([UIRefreshControl class]) {
[self.refreshControl beginRefreshing];
} else {
self.navigationItem.rightBarButtonItem.enabled = NO;
@@ -172,8 +170,7 @@
}
- (void)stopLoadingIndicator {
id refreshClass = NSClassFromString(@"UIRefreshControl");
if (refreshClass) {
if ([UIRefreshControl class]) {
[self.refreshControl endRefreshing];
} else {
self.navigationItem.rightBarButtonItem.enabled = YES;
@@ -181,8 +178,7 @@
}
- (BOOL)isRefreshingWithNewControl {
id refreshClass = NSClassFromString(@"UIRefreshControl");
if (refreshClass) {
if ([UIRefreshControl class]) {
return [self.refreshControl isRefreshing];
}
return NO;
@@ -717,8 +713,7 @@
attachment.isLoading = YES;
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:attachment.sourceURL]];
__weak typeof (self) weakSelf = self;
id nsurlsessionClass = NSClassFromString(@"NSURLSessionDataTask");
if (nsurlsessionClass && !bit_isRunningInAppExtension()) {
if ([NSURLSessionDataTask class] && !bit_isRunningInAppExtension()) {
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
__block NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
@@ -991,8 +986,7 @@
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:attachment.sourceURL]];
__weak typeof (self) weakSelf = self;
id nsurlsessionClass = NSClassFromString(@"NSURLSessionDataTask");
if (nsurlsessionClass && !bit_isRunningInAppExtension()) {
if ([NSURLSessionDataTask class] && !bit_isRunningInAppExtension()) {
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
__block NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];

View File

@@ -947,8 +947,7 @@ NSString *const kBITFeedbackUpdateAttachmentThumbnail = @"BITFeedbackUpdateAttac
[request setHTTPBody:postBody];
}
__weak typeof (self) weakSelf = self;
id nsurlsessionClass = NSClassFromString(@"NSURLSessionDataTask");
if (nsurlsessionClass && !bit_isRunningInAppExtension()) {
if ([NSURLSessionDataTask class] && !bit_isRunningInAppExtension()) {
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
__block NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];

View File

@@ -173,8 +173,7 @@ NSString *bit_UUIDPreiOS6(void) {
NSString *bit_UUID(void) {
NSString *resultUUID = nil;
id uuidClass = NSClassFromString(@"NSUUID");
if (uuidClass) {
if ([NSUUID class]) {
resultUUID = [[NSUUID UUID] UUIDString];
} else {
resultUUID = bit_UUIDPreiOS6();

View File

@@ -542,8 +542,7 @@ bitstadium_info_t bitstadium_library_info __attribute__((section("__TEXT,__bit_h
@"bundle_version": [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]
};
id nsurlsessionClass = NSClassFromString(@"NSURLSessionUploadTask");
if (nsurlsessionClass && !bit_isRunningInAppExtension()) {
if ([NSURLSessionTask class] && !bit_isRunningInAppExtension()) {
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
__block NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
NSURLRequest *request = [[self hockeyAppClient] requestWithMethod:@"POST" path:integrationPath parameters:params];

View File

@@ -353,8 +353,7 @@
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
__weak typeof (self) weakSelf = self;
id nsurlsessionClass = NSClassFromString(@"NSURLSessionUploadTask");
if (nsurlsessionClass && !bit_isRunningInAppExtension()) {
if ([NSURLSessionTask class] && !bit_isRunningInAppExtension()) {
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
__block NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];

View File

@@ -888,8 +888,7 @@ typedef NS_ENUM(NSInteger, BITUpdateAlertViewTag) {
[request setValue:@"Hockey/iOS" forHTTPHeaderField:@"User-Agent"];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
id nsurlsessionClass = NSClassFromString(@"NSURLSessionDataTask");
if (nsurlsessionClass && !bit_isRunningInAppExtension()) {
if ([NSURLSessionDataTask class] && !bit_isRunningInAppExtension()) {
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration delegate:(id<NSURLSessionDelegate>)self delegateQueue:nil];