2017-11-14 24 views
2

내 앱에서 로그인 할 수 있고 비밀번호를 재설정하고 다른 페이지로 건너 뛸 수있는 홈 viewcontroller가 있습니다.비밀번호 재설정 메일에서 리디렉션 할 때 특정 viewcontroller로 리디렉션합니다. ios

"비밀번호 분실"을 클릭하면 비밀번호를 재설정 할 수있는 메일이 전송됩니다. 이메일에서 다시 리디렉션 할 때 앱이 동일한 홈 viewcontroller에 있어야합니다.

내 흐름 : 홈 뷰 컨트롤러에서 '비밀번호 찾기'를 클릭 한 다음 비밀번호 찾기보기 컨트롤러로 이동 -> 앱 종료 -> 내 메일로 이동하여 비밀번호를 다시 설정하십시오. 홈 페이지 자체는 포 그라운드 일 때, 다른 뷰 컨트롤러에서는 앱을 종료하거나 앱을 최소화하지 않았습니다.

어떻게하면됩니까? 감사합니다

+0

로그 아웃 로그인 성공시에만 설정해야합니다 전역 변수를 수있다 어떤 경우에는 URL 스키마를 사용하여 홈 화면으로 이동합니다. 'yourapp-scheme : // home'이라면 iOS 앱의 URL 스키마에 익숙하지 않은 것입니다. – carbonr

답변

1

비밀번호를 변경 한 후 깃발을 관리하고 백그라운드에서 앱으로 이동하여 관리 할 수 ​​있습니다.

설명해 드리겠습니다. AppDelegate에서 하나의 글로벌 var isChangedPwd = false을 가져옵니다. 최종 사용 리셋 암호 화면에 가서 성공적으로 당신이 isChangedPwd = true을 다음 isChangedPwd사실되며 앱 것 배경에 갈 때 그것은 의미

func applicationDidEnterBackground(_ application: UIApplication) { 
    if isChangedPwd { 
     exit(0) 
    } 
} 

아래처럼 applicationDidEnterBackground에 플래그를 관리하는 데 필요한 다음 암호를 재설정 할 때 앱이 종료되고 초기 수준에서 실행됩니다.

참고 : 종료를 사용하지 않을 경우 (0) 초기 수준에서 응용 프로그램을 시작하지 그런 다음 아래 코드 홈 페이지로 리디렉션 할 수 있습니다.

func applicationDidEnterBackground(_ application: UIApplication) { 
     if isChangedPwd { 
      for viewCon in (self.navigationController?.viewControllers)! { 
       if viewCon is HomePageViewController { 
       self.navigationController?.popToViewController(viewCon, animated: true) 
       break 
       } 
      } 
     } 
    } 
+0

사용자 탐색을 관리하는 대신 앱을 종료하는 것이 좋은 사용자 경험이라고 생각하지 않습니다.그것의 해결 방법보다는 오히려 좋은 해결책 – carbonr

+0

@ carbonr 네, 맞습니다. 제가 두 번째 해결책으로 업데이트 한 이유를 생각하고 있습니다. – iPatel

+0

@iPatel 두 번째 방법이 나를 위해 일했습니다 .. – vensM

0

지금까지 내가 당신의 질문을 이해 : 당신은 사용자가 홈 화면에 "비밀번호 분실"에 탭 때마다, 사용자가 ForgotPasswordScreen로 이동합니다 다음 사용자가 비밀번호를 재설정 할 수있는 링크 (메일을 받기 원하는 [이 모든 것은 귀하의 서버에서 수행했습니다]). 앱으로 돌아 오면 사용자가 앱을 시작하든 백그라운드에서 시작하든 HomeScreen이 표시되어야합니다.

위 시나리오라면 수행중인 추가 작업이있는 것 같습니다.

ForgotPasswordScreen을 사용할 필요가 없음을 제안합니다. 사용자가 암호 재설정 메일을 보내기 위해 이메일 ID를 입력 할 수 있도록 텍스트 필드와 함께 경고를 표시하십시오.

그리고 방금 == 하나 개의 플래그 isLoggedIn

하면 isLoggedIn을 설정해야 진정한에만 다음 다른 viewControllers을로드합니다.

isLoggedIn는/당신이 URL-방식의 메일에서 응용 프로그램을 다시 탐색을위한 설정이 있으리라 믿고있어