我有一个通过Oauth登录到第三方API的应用程序,但在成功获取令牌后我需要一些帮助来删除我的授权视图。这就是我对IB的看法:
应用程序以常规ViewController启动,如果没有authToken呈现AuthView:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
if (myVars.authToken == "" ) {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let authVC = storyboard.instantiateViewControllerWithIdentifier("AuthViewController") as! AuthViewController
self.navigationController?.showViewController(authVC, sender: self)
}
你点击授权,它在Safari中打开URL,你授权应用程序,它返回带有令牌的回调URL,该令牌返回到显示authVC的应用程序。但我似乎无法隐藏我的authVC。
任何建议都会受到很大的影响。
答案 0 :(得分:0)
我正在为ViewController获取一个新实例,所以我无法解开它等等。在AppDelegate中,我得到了现有的导航控制器&图
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
let navigationController = application.windows[0].rootViewController as! UINavigationController
let authView = navigationController.visibleViewController
然后我可以在authView的正确实例上调用一个函数,除其他外,它会解开segue并让我回到我常用的导航流程。
这可能是一个更好的解决方案,但这是有效的。