рдирдорд╕реНрдХрд╛рд░!
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕рдм рдХреБрдЫ рд╕реЗрдЯрдЕрдк рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рд╕реВрдЪрдирд╛рдПрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИрдВред
рдЬрдм рдореИрдВ рдпреВрдЖрд░рдПрд▓ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реВрдВ рдФрд░ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкрд░ рджрдмрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореЛрдмрд╛рдЗрд▓ рдРрдк рд▓реЙрдиреНрдЪ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдПред
рд▓реЗрдХрд┐рди рдПрдХ рд╕рдВрдХреЗрдд рдЦрд╛рддрд╛ рдЬреЛ рд╕реВрдЪрдирд╛ рднреЗрдЬ рд░рд╣рд╛ рд╣реИ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд░реЛрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рдкреИрд░рд╛ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдЖрд░рдПрд▓ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЬрдм рдореЛрдмрд╛рдЗрд▓ рдХреЛ рдпрд╣ рд╕реВрдЪрдирд╛ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рд╡рд╣ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ url рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ, рди рдХрд┐ рдореЛрдмрд╛рдЗрд▓ рдРрдкред
рдХреНрдпрд╛ рдпреВрдЖрд░рдПрд▓ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?
рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдмрдВрдж рдХрд░ рджреЗрдВ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдРрдк рдЦреЛрд▓реЗрдВ?
рдпрд╛ рдореИрдВ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ?
рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
@jkasten2
@ccstorch @avishayil рдРрдк рдореЗрдВ рд▓реЙрдиреНрдЪ рдпреВрдЖрд░рдПрд▓ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреА рд╣реЛрдВрдЧреАред рдПрдХ рд▓реЙрдиреНрдЪ рдпреВрдЖрд░рдПрд▓ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕рд┐рд░реНрдл рдЖрдкрдХрд╛ рдХреНрд░реЛрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдФрд░ рджреВрд╕рд░рд╛ рдЖрдкрдХреЗ рдореЛрдмрд╛рдЗрд▓ рдРрдк рдХреЗ рд▓рд┐рдПред
рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, @jkasten2 рдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
OneSignalHelper
рдХреА displayWebView :
рд╡рд┐рдзрд┐ рдХреЛ рдШреБрдорд╛рдирд╛ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред рдпрд╣ рдПрдХ _рдорд╣рд╛рди_ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ (рдЕрднреА рдХреЗ рд▓рд┐рдП)ред
я╕П рдРрд╕рд╛ рддрднреА рдХрд░реЗрдВ рдЬрдм рдЖрдк рдпреЛрд▓реЛ рдорд╣рд╕реВрд╕ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ я╕П
#import <RCTOneSignal/RCTOneSignal.h>
#import <objc/runtime.h>
<strong i="9">@implementation</strong> AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Don't do this unless in dire yolo situations
SwizzleClassMethod(NSClassFromString(@"OneSignalHelper"), @selector(displayWebView:), [AppDelegate class], @selector(displayWebView:));
NSString *oneSignalAPIID = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"ONE_SIGNAL_API_ID"];
self.oneSignal = [[RCTOneSignal alloc] initWithLaunchOptions:launchOptions appId:oneSignalAPIID];
return YES;
}
+ (void) displayWebView:(NSURL*)url {
NSLog(@"This is dumb");
}
void SwizzleClassMethod(Class cOriginal, SEL orig, Class cNew, SEL new) {
Method origMethod = class_getClassMethod(cOriginal, orig);
Method newMethod = class_getClassMethod(cNew, new);
cOriginal = object_getClass((id)cOriginal);
cNew = object_getClass((id)cNew);
if(class_addMethod(cOriginal, orig, method_getImplementation(newMethod), method_getTypeEncoding(newMethod))) {
class_replaceMethod(cNew, new, method_getImplementation(origMethod), method_getTypeEncoding(origMethod));
} else {
method_exchangeImplementations(origMethod, newMethod);
}
}
<strong i="10">@end</strong>