Adam Wulf

backwards compatibility for < iOS 5

@@ -216,10 +216,20 @@ static const NSUInteger kDomainSection = 1; @@ -216,10 +216,20 @@ static const NSUInteger kDomainSection = 1;
216 216
217 + (void)dismiss 217 + (void)dismiss
218 { 218 {
219 - if ([sharedDialog respondsToSelector:@selector(presentingViewController)]) 219 + UIViewController* dismisser = nil;
220 - [[sharedDialog presentingViewController] dismissViewControllerAnimated:YES completion:nil]; 220 + if ([sharedDialog respondsToSelector:@selector(presentingViewController)]){
221 - else 221 + dismisser = [sharedDialog presentingViewController];
222 - [[sharedDialog parentViewController] dismissViewControllerAnimated:YES completion:nil]; 222 + }else{
  223 + dismisser = [sharedDialog parentViewController];
  224 + }
  225 + if([dismisser respondsToSelector:@selector(dismissViewControllerAnimated:completion:)]){
  226 + [dismisser dismissViewControllerAnimated:YES completion:nil];
  227 + }else{
  228 +#pragma clang diagnostic push
  229 +#pragma clang diagnostic ignored "-Wdeprecated-declarations"
  230 + [dismisser dismissModalViewControllerAnimated:YES];
  231 +#pragma clang diagnostic pop
  232 + }
223 } 233 }
224 234
225 - (void)viewDidDisappear:(BOOL)animated 235 - (void)viewDidDisappear:(BOOL)animated
@@ -236,10 +246,20 @@ static const NSUInteger kDomainSection = 1; @@ -236,10 +246,20 @@ static const NSUInteger kDomainSection = 1;
236 if (self == sharedDialog) { 246 if (self == sharedDialog) {
237 [[self class] dismiss]; 247 [[self class] dismiss];
238 } else { 248 } else {
239 - if ([self respondsToSelector:@selector(presentingViewController)]) 249 + UIViewController* dismisser = nil;
240 - [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil]; 250 + if ([self respondsToSelector:@selector(presentingViewController)]){
241 - else 251 + dismisser = [self presentingViewController];
242 - [[self parentViewController] dismissViewControllerAnimated:YES completion:nil]; 252 + }else{
  253 + dismisser = [self parentViewController];
  254 + }
  255 + if([dismisser respondsToSelector:@selector(dismissViewControllerAnimated:completion:)]){
  256 + [dismisser dismissViewControllerAnimated:YES completion:nil];
  257 + }else{
  258 +#pragma clang diagnostic push
  259 +#pragma clang diagnostic ignored "-Wdeprecated-declarations"
  260 + [dismisser dismissModalViewControllerAnimated:YES];
  261 +#pragma clang diagnostic pop
  262 + }
243 } 263 }
244 } 264 }
245 265
@@ -315,7 +335,14 @@ static const NSUInteger kDomainSection = 1; @@ -315,7 +335,14 @@ static const NSUInteger kDomainSection = 1;
315 } 335 }
316 #endif 336 #endif
317 337
318 - [[self presentingController] presentViewController:self animated:YES completion:nil]; 338 + if([[self presentingController] respondsToSelector:@selector(presentViewController:animated:completion:)]){
  339 + [[self presentingController] presentViewController:self animated:YES completion:nil];
  340 + }else{
  341 +#pragma clang diagnostic push
  342 +#pragma clang diagnostic ignored "-Wdeprecated-declarations"
  343 + [[self presentingController] presentModalViewController:self animated:YES];
  344 +#pragma clang diagnostic pop
  345 + }
319 } 346 }
320 347
321 #pragma mark button callbacks 348 #pragma mark button callbacks