Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS 16的一个系统问题 —— UIBarButtonItem的initWithTitle后CPU拉满 #1629

Closed
LeeYZ opened this issue Nov 2, 2022 · 9 comments
Closed

Comments

@LeeYZ
Copy link

LeeYZ commented Nov 2, 2022

提bug前必看
请先回答下列三个问题,否则不允处理,谢谢配合。
1、我最新的Demo是否有这个bug?【如果Demo没问题,请升级新版
答:有

2、你用的是什么版本?升级到最新版后是否正常?
答:3.6.4,不能正常

3、是否有改动过我库内部的代码?【如有,请说明改动点
答:没有

bug内容描述
iOS 16系统使用UIBarButtonItem的initWithTitle方法后,造成CPU拉满,应该是属于系统bug,我自己项目使用的做了兼容,现在这个库里面还存在

我如何复现这个bug?
在iOS 16系统的设备上运行就可以复现,我使用的是Xcode 14.1, iOS 16.1

截图

其它说明
有没有其它要补充的?比如你的初始化TZImagePickerController的代码

@503428349
Copy link

这个问题使用Xcode14以上版本打包,在iOS16运行必现
iOS 16系统使用UIBarButtonItem的initWithTitle方法后,造成CPU拉满,应该是属于系统bug,我自己项目使用的做了兼容,现在这个库里面还存在

@wuruijie
Copy link

兄弟咋兼容的

@wuruijie
Copy link

这个问题使用Xcode14以上版本打包,在iOS16运行必现
iOS 16系统使用UIBarButtonItem的initWithTitle方法后,造成CPU拉满,应该是属于系统bug,我自己项目使用的做了兼容,现在这个库里面还存在

咋兼容的 兄弟

@LeeYZ
Copy link
Author

LeeYZ commented Nov 15, 2022

这个问题使用Xcode14以上版本打包,在iOS16运行必现
iOS 16系统使用UIBarButtonItem的initWithTitle方法后,造成CPU拉满,应该是属于系统bug,我自己项目使用的做了兼容,现在这个库里面还存在

咋兼容的 兄弟

自己把initWithTile:换成initWithCustomView:,TZ这个present的时候不要FullScreen就不会闪退了

@TinySungo
Copy link

提bug前必看 请先回答下列三个问题,否则不允处理,谢谢配合。 1、我最新的Demo是否有这个bug?【如果Demo没问题,请升级新版】 答:有

2、你用的是什么版本?升级到最新版后是否正常? 答:3.6.4,不能正常

3、是否有改动过我库内部的代码?【如有,请说明改动点】 答:没有

bug内容描述 iOS 16系统使用UIBarButtonItem的initWithTitle方法后,造成CPU拉满,应该是属于系统bug,我自己项目使用的做了兼容,现在这个库里面还存在

我如何复现这个bug? 在iOS 16系统的设备上运行就可以复现,我使用的是Xcode 14.1, iOS 16.1

截图

其它说明 有没有其它要补充的?比如你的初始化TZImagePickerController的代码

检查一下是不是对Dictionary进行了方法交换,建议不要对系统类进行交换

@dearDragon
Copy link

我这边iOS16后的唤出相册时 CPU也是直接拉满,同时这个回答“检查一下是不是对Dictionary进行了方法交换,建议不要对系统类进行交换”解决了问题,但是这个肯定不是最优化的,只能紧急处理,也不知道作者几时能在库中处理掉这个问题。希望能尽快。

@dearDragon
Copy link

提bug前必看 请先回答下列三个问题,否则不允处理,谢谢配合。 1、我最新的Demo是否有这个bug?【如果Demo没问题,请升级新版】 答:有
2、你用的是什么版本?升级到最新版后是否正常? 答:3.6.4,不能正常
3、是否有改动过我库内部的代码?【如有,请说明改动点】 答:没有
bug内容描述 iOS 16系统使用UIBarButtonItem的initWithTitle方法后,造成CPU拉满,应该是属于系统bug,我自己项目使用的做了兼容,现在这个库里面还存在
我如何复现这个bug? 在iOS 16系统的设备上运行就可以复现,我使用的是Xcode 14.1, iOS 16.1
截图
其它说明 有没有其它要补充的?比如你的初始化TZImagePickerController的代码

检查一下是不是对Dictionary进行了方法交换,建议不要对系统类进行交换

这个回答“对Dictionary进行了方法交换,建议不要对系统类进行交换” 如果不使用的话,那么那些使用了Dictionary扩展进行了项目全局处理因为nil导致奔溃问题的项目就要处理很多Dictionary插入数据时的验证了。

@TinySungo
Copy link

提bug前必看 请先回答下列三个问题,否则不允处理,谢谢配合。 1、我最新的Demo是否有这个bug?【如果Demo没问题,请升级新版】 答:有
2、你用的是什么版本?升级到最新版后是否正常? 答:3.6.4,不能正常
3、是否有改动过我库内部的代码?【如有,请说明改动点】 答:没有
bug内容描述 iOS 16系统使用UIBarButtonItem的initWithTitle方法后,造成CPU拉满,应该是属于系统bug,我自己项目使用的做了兼容,现在这个库里面还存在
我如何复现这个bug? 在iOS 16系统的设备上运行就可以复现,我使用的是Xcode 14.1, iOS 16.1
截图
其它说明 有没有其它要补充的?比如你的初始化TZImagePickerController的代码

检查一下是不是对Dictionary进行了方法交换,建议不要对系统类进行交换

这个回答“对Dictionary进行了方法交换,建议不要对系统类进行交换” 如果不使用的话,那么那些使用了Dictionary扩展进行了项目全局处理因为nil导致奔溃问题的项目就要处理很多Dictionary插入数据时的验证了。

可以检查一下自己的代码,是处理了setObject:forKeyedSubscript: (obj=nil)导致的,和这个库没关系,你用系统的ImagePicker 也是一样的问题。这也是我为什么说nil safe不推荐交换系统类的方式来处理,而是业务中通过调用定义好的safe func。现在是这个问题,那么后面的系统更新中会不会有别的问题呢?

@banchichen banchichen changed the title iOS 16的一个系统问题 iOS 16的一个系统问题 —— UIBarButtonItem的initWithTitle后CPU拉满 Jan 1, 2023
@AETSHOLDER
Copy link

16.1 是有这个问题 [UIBarButtonItem alloc] initWithTitle 直接卡死 16.5好像就没这个问题了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants