Я использую технику, предоставленную this SO answer предварительно загрузить некоторые URL в SFSafariViewController так:Как правильно удалить SFSafariViewController в качестве контроллера детского представления?
addChildViewController(svc)
svc.didMoveToParentViewController(self)
view.addSubview(svc.view)
И я стараюсь, чтобы удалить контроллер Safari View с помощью следующего кода:
svc.willMoveToParentViewController(nil)
svc.view.removeFromSuperview()
svc.removeFromParentViewController()
Теперь я могу предварительно загрузить URL и показать Safari View без проблем. Однако после того, как я повторю процесс (preload/show/remove) несколько раз (вероятно, 30 раз), приложение выйдет из строя из-за проблемы с памятью, потому что журнал показывает Memory level is not normal or this app was killed by jetsam
, когда приложение выходит из строя.
До аварии я видел некоторые журналы о предупреждениях возможно, утечки:
<Warning>: notify name "UIKeyboardSpringBoardKeyboardShow" has been registered 20 times - this may be a leak
<Warning>: notify name "com.apple.SafariViewService-com.apple.uikit.viewService.connectionRequest" has been registered 20 times - this may be a leak
я делаю это правильно при удалении контроллера Safari View? Я что-то упускаю? Или любое предложение по решению этой проблемы?
пытался заказ предложил, но все та же проблема остается. –
Могли бы вы использовать WKWebkitView и добавить его в качестве подчиненного в ваш основной VC вместо использования SVC? –
нет, используя WKWebkitView - это другое дело –