Я не думаю, что проблема с памятью вызывает вашу проблему. Вы должны сделать скриншот с void UIGraphicsBeginImageContextWithOptions(CGSize size,BOOL opaque,CGFloat scale);
. Последний параметр, равный 0.0, будет заботиться о проблеме с сетчаткой / без сетчатки.
"Масштабный коэффициент, применяемый к растровому изображению. Если указать значение 0,0, масштабный коэффициент будет установлен на масштабный коэффициент основного экрана устройства." Из документации .
UIGraphicsBeginImageContextWithOptions(webview.bounds.size, YES, 0.0);
[webview.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
РЕДАКТИРОВАТЬ: вы говорите, что ваше приложение все еще не работает.
Возможно ли, что вы забыли добавить QuartzCore framework
.
Вы также должны импортировать QuartzCore header
:
#import <QuartzCore/QuartzCore.h>
из Технические вопросы и ответы QA1703 (Снимок экрана в приложениях UIKit)