1
次のコードを使用して、自分のビューのスクリーンショットを取得しています。afterScreenUpdates:trueのときdrawHierarchyが失敗する
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法にスローことが判明:私はこれをtrueに設定した場合でも、私は次のエラーを取得します。誰もこのエラーを見たことがありますか?何が起きているのか?私は、スナップショットを取得する前に、ビューの更新(いくつかのuiimagesを隠している)を取り除こうとしましたが、効果はありません。
このエラーでアプリがフリーズしますが、ハードストップはありません(バックトレースを見るためにデバッガと対話できません)。もしそれが不明であれば申し訳ありません。