2 つのビューを持つシンプルなアプリがあります。最初のビューが読み込まれるとすぐに、Touch ID センサー認証を実行します (この質問も参照してください)。
func testTouchID()
{
if touchIDContext.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error:&touchIDError)
{
touchIDContext.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: reasonString, reply: {
(success: Bool, error: NSError?) -> Void in
if success
{
self.performSegueWithIdentifier("showSecondView", sender: self)
return;
} else {
このコードではセグエが実行されますが、2 番目のビューが一瞬だけ表示された後、アプリは最初のビューに戻ります。canEvalutePolicy内のコードが完成していないようで、ナビゲーション コントローラーが最初のビューをプッシュします。
次のようないくつかのことを試しました:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
NSOperationQueue.mainQueue().addOperationWithBlock
また、これらの方法の組み合わせもありますが、2 番目のビューへのセグエを実行して 2 番目のビューに留まることはできません。
誰でも助けることができますか?
ありがとう、グイド