Peek and Pop с утечкой mainWindow.rootViewController - PullRequest
1 голос
/ 24 мая 2019

Когда я использую 3D Touch для просмотра и извлечения контроллера представления, мое приложение UIApplication.shared.delegate?.window??.rootViewController сохраняется Apple _UIFullScreenPresentationController

Так что, если я переключу rootViewController, старый никогда не будет выпущен.

Я сделал демонстрационное приложение, чтобы помочь понять: https://github.com/rapinto/PeekAndPopLeak

шаг для воспроизведения:

  • 3d-касание на фоне корня ViewController, чтобы выдвинуть новый ViewController.
  • Нажмите кнопку, чтобы переключить приложение rootViewController
  • Откройте инструмент Xcode Debug Memory Graph: теперь есть 2 живых ViewController
  • Необязательно: если вы повторите шаги с 1 по 3, больше ViewController просочится

Отмена регистрации контекста предварительного просмотра не решает ее.

enter image description hereenter image description here

Кто-нибудь может мне помочь?

PS: Если вы не заглядываете и нажимаете, чтобы нажать вторую ViewController, rootViewController не сохраняется / не просачивается

...