@@ -7,20 +7,89 @@
9import UIKit
9import UIKit
11class MainCoordinator {
12class MainCoordinator {
12 let window: UIWindow
13 let window: UIWindow
13 let mainVC = MainViewController()
14 let mainVC = MainViewController()
15+ let loadingVC = UIViewController() // TODO: An actual loading VC
14 let navC: UINavigationController!
16 let navC: UINavigationController!
15 let secondaryCoord = SecondaryCoordinator()
17 let secondaryCoord = SecondaryCoordinator()
16 init(window: UIWindow) {
18 init(window: UIWindow) {
17 self.window = window
19 self.window = window
20+ window.rootViewController = loadingVC
18 navC = UINavigationController(rootViewController: mainVC)
23 navC = UINavigationController(rootViewController: mainVC)
19− window.rootViewController = navC
20 updateScreens()
24 updateScreens()
29+ VK.configure(withAppId: appID, delegate: self)
30+ if VK.state == .authorized {
23 func updateScreens() {
37 func updateScreens() {
24 secondaryCoord.updateScreens()
38 secondaryCoord.updateScreens()
41+ fileprivate func authorized() {
42+ print("didAuthorize")
43+ window.rootViewController = navC
47+extension MainCoordinator: VKDelegate {
48+ /** ---DEPRECATED. TOKEN NOW STORED IN KEYCHAIN--- Called when SwiftyVK need know where a token is located
49+ - returns: Path to save/read token or nil if should save token to UserDefaults*/
50+ func vkShouldUseTokenPath() -> String? {
54+ func vkWillAuthorize() -> Set<VK.Scope> {
55+ //Called when SwiftyVK need authorization permissions.
59+ func vkDidAuthorizeWith(parameters: Dictionary<String, String>) {
60+ //Called when the user is log in.
61+ //Here you can start to send requests to the API.
64+ self.window.rootViewController = self.navC
69+ func vkAutorizationFailedWith(error: AuthError) {
70+ //Called when SwiftyVK could not authorize. To let the application know that something went wrong.
71+ print("failed auth with error \(error.errorCode): \(error.description)")
73+ self.window.rootViewController = self.navC
77+ func vkDidUnauthorize() {
78+ print("did unauthorize")
80+ self.window.rootViewController = self.navC
82+ //Called when user is log out.
85+ func vkWillPresentView() -> UIViewController {
87+ //Called when need to display a view from SwiftyVK.
88+ let authController = UIViewController()
90+ self.window.rootViewController = authController
92+ return authController //UIViewController that should present authorization view controller