iOS 17.0 UIGraphicsBeginImageContextWithOptions 崩溃处理

在升级到iOS17后你会发现,之前版本运行的很好,这个版本突然会出现一个运行闪退。报错日志为***** Assertion failure in void _UIGraphicsBeginImageContextWithOptions(CGSize, BOOL, CGFloat, BOOL)(), UIGraphics.m:410**

跟踪到具体的报错位置如下所示:

UIGraphicsBeginImageContextWithOptions(size, NO, 0);

根据查阅的资料,iOS 17上使用UIGraphicsBeginImageContext()size为0时,就会报相同的错误。

我估计我这个问题应该是topbottom设置为0的原因,内部也是通过UIGraphicsBeginImageContext()实现的导致;

看官方API时,也会发现UIGraphicsBeginImageContext()这个方法也被废弃了被UIGraphicsImageRenderer替代,如下所示:

所以根据API的提示,为了解决这个问题,我们就需要去改造当前方法,如下所示:

这样就解决了,新版本崩溃问题的;

相关推荐
不自律的笨鸟3 小时前
iPhone 神级功能,3D Touch 回归!!!
ios·手机·iphone
Magnetic_h7 小时前
【iOS】类和分类的加载过程
笔记·学习·ios·objective-c·xcode
归辞...8 小时前
「iOS」————MRC
macos·ios·cocoa
他们都不看好你,偏偏你最不争气9 小时前
iOS仿写 —— 计算器
ios
谈吐大方的鹏sir9 小时前
SwiftUI-VStack、HStack和ZStack组件学习
ios
胎粉仔13 小时前
Objective-c 初阶——异常处理(try-catch)
开发语言·ios·objective-c
转转技术团队15 小时前
iOS微距拍照大揭秘:为什么你的App近距离总是拍不清?
ios
2501_9160137418 小时前
移动端 WebView 调试实战,多平台行为差异排查与统一调试流程
android·ios·小程序·https·uni-app·iphone·webview
谈吐大方的鹏sir1 天前
SwiftUI-TextField组件学习
ios