}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
- guard let tunnelsManager = mainVC?.tunnelsManager else { return true }
- TunnelImporter.importFromFile(urls: [url], into: tunnelsManager, sourceVC: mainVC, errorPresenterType: ErrorPresenter.self) {
- _ = FileManager.deleteFile(at: url)
- }
+ mainVC?.importFromDisposableFile(url: url)
return true
}
onTunnelsManagerReady = showTunnelDetailBlock
}
}
+
+ func importFromDisposableFile(url: URL) {
+ let importFromFileBlock: (TunnelsManager) -> Void = { [weak self] tunnelsManager in
+ TunnelImporter.importFromFile(urls: [url], into: tunnelsManager, sourceVC: self, errorPresenterType: ErrorPresenter.self) {
+ _ = FileManager.deleteFile(at: url)
+ }
+ }
+ if let tunnelsManager = tunnelsManager {
+ importFromFileBlock(tunnelsManager)
+ } else {
+ onTunnelsManagerReady = importFromFileBlock
+ }
+ }
}
extension MainViewController: UISplitViewControllerDelegate {