Я использую следующий код, чтобы получить снимок экрана моего представления.drawHierarchy не работает, когда afterScreenUpdates: true
UIGraphicsBeginImageContext(self.view.bounds.size)
self.view.drawHierarchy(in: self.view.bounds, afterScreenUpdates: true)
let wholeImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
Если я устанавливаю значение «afterScreenUpdates:» в false, он работает правильно. Но если установить его так, я получаю следующее сообщение об ошибке:
*** Assertion failure in -[UIApplication _performWithUICACommitStateSnapshotting:](), /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3600.5.2/UIApplication.m:6882
Используя контрольные точки, я обнаружил, что ошибка бросает на методе drawHierarchy. Кто-нибудь видел эту ошибку раньше? Любая идея, что происходит? Я попытался вынуть любые обновления для представления (скрывая некоторые uiimages), прежде чем захватить снимок, но он не имеет никакого эффекта.
Странное примечание стороны: приложение зависает с этой ошибкой, но нет жесткой остановки (я не могу взаимодействовать с отладчиком, чтобы посмотреть на обратную трассировку). Извините, если это неясно.