xcode14、ios16调试报错Application circumvented objective-c runtime dealloc initiation for

IOS16调试的时候报错
Application circumvented objective-c runtime dealloc initiation for <%s> object

原因

IOS16 苹果不允许重写系统控件分类(Categroy)中重写 + (void)initialize方法

苹果的说法

initialize is invoked only once per class. If you want to perform independent initialization for the class and for categories of the class, you should implement load methods.

作者在UIView+XXX中复写了+ (void)initialize方法,在方法中添加了swizzle方法替换,导致的该问题,解决方法是将swizzle方法替换写到+ (void)load中,大家可根据自身情况更改,避免复写系统控件+ (void)initialize方法

资料

https://developer.apple.com/forums/thread/711358

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值