小工具知识网

当前位置: 首页 > 行业知识 > iOS 17.0 YYText 崩溃处理

行业知识

iOS 17.0 YYText 崩溃处理

2026-11-07 15:48:26 来源:互联网转载

YYText,发现在iOS 17上运行会崩溃,触发了index.php/tags-13.html" >系统的断言:

UIGraphicsBeginImageContext() failed to allocate CGBitampContext: size={382, 0}, scale=3.000000, bitmapInfo=0x2002. Use UIGraphicsImageRenderer to avoid this assert.

查了下 api,发现UIGraphicsBeginImageContext在iOS 17上已经deprecated了。

处理办法:YYTextAsyncLayer.m

将

UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.opaque, self.contentsScale);CGContextRef context = UIGraphicsGetCurrentContext();if (self.opaque) {CGSize size = self.bounds.size;size.width *= self.contentsScale;size.height *= self.contentsScale;CGContextSaveGState(context); {if (!self.backgroundColor || CGColorGetAlpha(self.backgroundColor)  

替换为:

  UIGraphicsImageRendererFormat *format = [[UIGraphicsImageRendererFormat alloc] init];        format.opaque = self.opaque;        format.scale = self.contentsScale;        UIGraphicsImageRenderer *renderer = [[UIGraphicsImageRenderer alloc] initWithSize:self.bounds.size format:format];        UIImage *image = [renderer imageWithActions:^(UIGraphicsImageRendererContext * _Nonnull rendererContext) {            CGContextRef context = rendererContext.CGContext;            if (self.opaque) {                CGSize size = self.bounds.size;                size.width *= self.contentsScale;                size.height *= self.contentsScale;                CGContextSaveGState(context); {                    if (!self.backgroundColor || CGColorGetAlpha(self.backgroundColor)                                                 

上一篇:ASP.NET网站源码免费下载全攻略!

下一篇:易语言VMP壳加壳教程,程序保护轻松实现之道