从重置密码邮件ios重定向时,重定向到特定的viewcontroller

时间:2017-11-14 07:25:42

标签: ios url-scheme

在我的应用程序中,我有一个Home viewcontroller,用户可以从中登录,重置密码,并跳转到其他页面。

如果我点击"忘记密码",我会收到一封邮件,我可以在其中重置密码。当我从电子邮件重定向回来时,我希望应用程序保留在同一个Home viewcontroller中。

如果我的流程是:点击"忘记密码"来自home viewcontroller - >然后转到ForgotPassword viewcontrollers - >退出应用 - >然后转到我的邮件并重置密码,即便如此我希望应用程序在主页本身打开前景,而不是我退出应用程序或最小化应用程序的任何其他viewcontrollers。

我该怎么做?谢谢

2 个答案:

答案 0 :(得分:1)

您可以通过更改密码后管理标志并在后台运行应用程序来实现。

让我解释一下,在AppDelegate中取一个全局$ g++ a.cpp -o test -lgflags 。当最终使用将进入重置密码屏幕并成功重置密码时,您需要进行var isChangedPwd = false然后管理isChangedPwd = true中的标记,如下所示

applicationDidEnterBackground

这意味着当您的func applicationDidEnterBackground(_ application: UIApplication) { if isChangedPwd { exit(0) } } 为真并且应用将进入后台时,您的应用将退出并将在初始级别启动。

注意:如果您不想使用退出(0)而不是在初始级别启动应用,那么您可以重定向到主页以下代码。

isChangedPwd

答案 1 :(得分:0)

据我了解你的问题: 您希望每当用户点击HomeScreen上的“忘记密码”时,用户将被定向到ForgotPasswordScreen,然后用户收到一封邮件(带有重置密码的链接[所有这些由您的服务器完成])。回到应用程序,用户应该显示HomeScreen,无论是启动应用程序还是已经在后台。

如果上面是场景,那么我猜你正在执行一项额外的任务。

我建议不需要ForgotPasswordScreen,只需显示带有文本字段的警报,让用户输入电子邮件ID即可向其发送密码重置邮件。

你应该设置一个标志 isLoggedIn

如果 isLoggedIn == true ,则只加载其他viewControllers。

isLoggedIn 必须是一个全局变量,只应在成功登录/注销时设置