iOS 11のビルドをXcode 9 &に移行しました。私storybasedアプリでiOS 11:self.performSegue()が動作しない
、次のコード:(ちょうどiOSの10.3、10.0、9.0で確認)以前のすべてのiOSでの細かい
self.performSegue(withIdentifier: Const.UI.Segue.showIntro, sender: self)
実行されますが、
追加iOSの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
}
プリントアウト(IOSの11):
> Logged In
> starting segue showIntroSegue
期待される結果:新しいコントローラiOSの11
実際の結果をプッシュ:すべての何も理由が何であるか
任意のアイデアを起こりませんか?
ファンクブックAWSCognito/AWSFacebookSignInProvider
でログインできたら、handleSuccessfulLogin()
という関数が呼び出されます。 iOS上ではcontinue with facebook
という新しいポップアップがありますが、それは理由があると思われますが、それを検証する方法はありません.2番目のコールでは、このポップアップは表示されません(facebookはすでに承認されています)。
注:私はこのスニペットも同じ結果を試しました。協議によると
OperationQueue.main.addOperation {
[weak self] in
self?.performSegue(withIdentifier: Const.UI.Segue.showIntro, sender: self)
}
ストーリーボードからセグを削除してもう一度追加してください。 –
@RashwanL変更なし悲しいことに –
セグの識別子はあなたの期待通りに評価されますか? –