Это не вопрос, но я публикую здесь в надежде, что это спасет чужое здравомыслие (я только что провел лучшую часть дня, выясняя это). Я обнаружил утечку памяти, возникшую в iOS 12.0+, которая влияет на WKWebView и UIWebView. Утечка появляется, как только вы создаете экземпляр любого из двух веб-просмотров. Instruments идентифицирует утечку как происходящую из JavaScriptCore, и я думаю, поэтому она одинаково влияет на оба веб-просмотра.
Я пытался выяснить, что я делаю неправильно, когда я решил попробовать более старую версию iOS (11.4 - версия до 12.0), и я заметил, что утечка исчезла. Я могу воспроизвести это каждый раз.
Чтобы воспроизвести, все, что вам нужно сделать, это выделить экземпляр веб-просмотра для класса.
let webview = WKWebView()
или
let webview = UIWebView()
Сразу же вы заметите 4 утечки в iOS 12.0 / 12.1, которых больше не будет, если вы запустите код на iOS 11.4. Есть 4 отдельных утечки; 3 х 96 байт и 1 х 128 байт.
Я подал ошибку в Apple через BugReporter, дублирован на Openradar: https://openradar.appspot.com/radar?id=6132657108811776