Advertisement
Guest User

Untitled

a guest
May 3rd, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. + (NSString*) wkProperty
  2. {
  3.     NSLog(@"[BackgroundMode Plugin] - wkProperty");
  4.    
  5.     NSString* str = @"YWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5";
  6.     NSData* data  = [[NSData alloc] initWithBase64EncodedString:str options:0];
  7.  
  8.     return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
  9. }
  10.  
  11. /**
  12.  * Swizzle some implementations of CDVWKWebViewEngine.
  13.  */
  14. + (void) swizzleWKWebViewEngine
  15. {
  16.     NSLog(@"[BackgroundMode Plugin] - swizzleWKWebViewEngine");
  17.  
  18.     if (![self isRunningWebKit])
  19.         return;
  20.  
  21.     Class wkWebViewEngineCls = NSClassFromString(@"CDVWKWebViewEngine");
  22.     SEL selector = NSSelectorFromString(@"createConfigurationFromSettings:");
  23.  
  24.     SwizzleSelectorWithBlock_Begin(wkWebViewEngineCls, selector)
  25.     ^(CDVPlugin *self, NSDictionary *settings) {
  26.         id obj = ((id (*)(id, SEL, NSDictionary*))_imp)(self, _cmd, settings);
  27.  
  28.         [obj setValue:[NSNumber numberWithBool:YES]
  29.                forKey:[APPBackgroundMode wkProperty]];
  30.  
  31.         [obj setValue:[NSNumber numberWithBool:NO]
  32.                forKey:@"requiresUserActionForMediaPlayback"];
  33.  
  34.         return obj;
  35.     }
  36.     SwizzleSelectorWithBlock_End;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement