오늘 iOS 11 빌드 Xcode 9 &으로 이전을 시작했습니다. 내 storybased 응용 프로그램에서iOS 11 : self.performSegue() not working
, 다음 코드 (단지 아이폰 OS 10.3, 10.0, 9.0 확인) 이전의 모든 아이폰 OS에서 잘
self.performSegue(withIdentifier: Const.UI.Segue.showIntro, sender: self)
실행되지만
추가 아이폰 OS 11에서 실행되지 않습니다 코드 :
private func handleSuccessfulLogin() {
self.log.info("Logged In")
DispatchQueue.main.async(){
self.performSegue(withIdentifier: Const.UI.Segue.showIntro, sender: self)
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
print("starting segue " + segue.identifier!)
}
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
print("should perform segue")
return true
}
출력 (아이폰 OS 11) :
> Logged In
> starting segue showIntroSegue
예상 결과 : 새로운 컨트롤러는
을 밀어 실제 결과 아이폰 OS 11 : 아무것도 전혀
어떤 아이디어
는 이유가 무엇인지 어떻게됩니까?성공적인 로그인 후 handleSuccessfulLogin()
함수가 호출되어 AWSCognito/AWSFacebookSignInProvider
, 페이스 북 로그인으로 호출됩니다. iOS에는 새로운 팝업 continue with facebook
이 있는데 그 이유는 의심 스럽지만 확인할 방법이 없습니다 .. 두 번째 호출에서이 팝업은 나타나지 않습니다 (페이스 북은 이미 승인 된 상태 임). 그러면 segue가 올바르게 트리거됩니다.
참고,이 스 니펫도 동일한 결과를 시도했습니다. 토론에 따르면
OperationQueue.main.addOperation {
[weak self] in
self?.performSegue(withIdentifier: Const.UI.Segue.showIntro, sender: self)
}
스토리 보드에서 섹슈를 제거하고 다시 추가하십시오. –
@RashwanL 변경 슬프게 –
segue 식별자가 예상대로 평가됩니까? –