关于iOS15.7 iOS16.0 [SKStoreProductViewController sceneDisconnected:]崩溃问题

1.点击广告,打开app stroe下载页面,杀死app触发
2.加载或者展示出广告,杀死app也可能触发

解决办法:写个类别,弄个钩子

#import "SKStoreProductViewController+CSJAd.h"
#import <objc/runtime.h>


@implementation SKStoreProductViewController (CSJAd)

+ (void)load {
    NSString *selName = @"";
    SEL sel;
    
    selName = @"sceneDisconnected:";
    sel = NSSelectorFromString(selName);
    Method method1 = class_getInstanceMethod([self class], sel);
    if (method1 == nil) {
        class_addMethod([self class], sel, (IMP)csj_custom_sceneDisconnected, "v@:@");
    }
    
    selName = @"appWillTerminate";
    sel = NSSelectorFromString(selName);
    Method method2 = class_getInstanceMethod([self class], sel);
    if (method2 == nil) {
        class_addMethod([self class], sel, (IMP)csj_custom_appWillTerminate, "v@");
    }
}

void csj_custom_sceneDisconnected(id self, SEL _cmd, id params) {
    // DoNothing
}

void csj_custom_appWillTerminate(id self, SEL _cmd) {
    // DoNothing
}

@end
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容