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的提示,为了解决这个问题,我们就需要去改造当前方法,如下所示:

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

相关推荐
健了个平_244 小时前
iOS 27 适配笔记
ios·xcode·wwdc
Tr2e4 小时前
🐱 从 0 到 1:用 Swift 手搓一个 macOS 桌面宠物(附源码)
macos·ios·swift
iOS开发上架哦7 小时前
Jenkins 自动上传 IPA 到 App Store 把发布步骤融入 CI/CD
后端·ios
ZJPRENO8 小时前
2026 苹果 WWDC 完整总结
ios
REDcker9 小时前
WWDC2026系统更新综述
macos·ios·开发者·apple·wwdc·ipados·wwdc2026
星星电灯猴10 小时前
全面解决Charles抓取HTTPS请求响应中文乱码问题的方法与技巧
后端·ios
人月神话-Lee10 小时前
【WWDC】Core AI:iOS 端侧大模型新纪元
人工智能·ios·ai·swift·wwdc·core ai
2501_9160074711 小时前
iOS 开发工具选择指南 从编辑器、编译器到自动化构建
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
库奇噜啦呼12 小时前
【iOS】源码学习-YYModel源码学习
学习·ios·cocoa
风华圆舞12 小时前
一个 Flutter 项目同时保留 Android、iOS、HarmonyOS 支持的实践
android·flutter·ios