質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

7085閲覧

【swift】パスコード入力画面を表示する方法を知りたい

iphonex

総合スコア30

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/12/06 13:21

swift3にて、touchIdを使用して、認証をおこなう際、エラー時
パスコードを選択できるようになっています(以下コード参照)が、
パスコードを押してもパスコード入力画面が表示されません。
どうすれば、表示されるでしょうか。

import UIKit
import LocalAuthentication

class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()

} @IBAction func tap(_ sender: AnyObject) { startTouchID() } func startTouchID(){ let context = LAContext() var error :NSError? let localizedReason = "ホームボタンへ指を置いてください。" if context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error){ context.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: localizedReason, reply: { success, error in if success { print("成功!!") self.showOKAlert() } else { print("失敗") } }) }else{ //TouchIDに対応していない場合 print("TourchIDに対応しておりません") } } func showOKAlert(){ let alertController = UIAlertController(title: "成功",message: "指紋認証に成功",preferredStyle: .alert) let okButton:UIAlertAction = UIAlertAction(title: "OK",style: UIAlertActionStyle.default,handler:{(action:UIAlertAction!) -> Void in let storyboard: UIStoryboard = self.storyboard! let nextView = storyboard.instantiateViewController(withIdentifier:"next") as! NextViewController self.present(nextView, animated: true, completion: nil) }) alertController.addAction(okButton) present(alertController, animated: true, completion:nil) }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2016/12/06 23:30

コードは ``` で囲って下さい。
guest

回答2

0

ベストアンサー

以下のサイトを参考にしてみてください。
【iOS】指紋認証を使ってみる

★ 動作確認したコード

swift

1import UIKit 2import LocalAuthentication 3 4class ViewController: UIViewController { 5 6 @IBAction func buttonDidTouch(sender: UIButton) { 7 let context = LAContext(); 8 var error :NSError? 9 10 // Touch ID が利用できるデバイスか確認する 11 if context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthentication, error: &error) { 12 13 // 利用できる場合は指紋認証を要求する 14 context.evaluatePolicy( 15 LAPolicy.deviceOwnerAuthentication, 16 localizedReason:"指紋認証メッセージ", reply: { success, error in 17 18 if (success) { 19 // 指紋認証成功 20 print("Success") 21 } else { 22 // 指紋認証失敗 23 print("Failed") 24 } 25 }) 26 } else { 27 28 // Touch ID が利用できない場合 29 print("An Error Occurred: \(error)") 30 } 31 } 32}

投稿2016/12/24 23:56

_Kentarou

総合スコア8490

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

iphonex

2016/12/25 17:35

バッチリパスコード動きます! 諦めていたのですが、助かりました。ありがとうございます。 あと、パスコードの認証が成功した場合の処理を記載したいのですが、 成功したかどうかの判断は、どうすればいいのでしょうか?
_Kentarou

2016/12/25 22:46

コードの中には// 指紋認証成功 と書きましたがパスコードが成功した場合もこちらに入りますよ。
iphonex

2016/12/26 11:31

試してみました。画面遷移のコードを加えると、パスコードも指紋認証もばちっり 遷移できるようになりました。完璧です。 ありがとうございました。
guest

0

パスコードを押してもパスコード入力画面が表示されません。

それは自分で実装するのではないでしょうか?

【追記】

質問とは直接関係ありませんが、evaluatePolicy()が二重になっています。外側の方は必要ありませんので削除して下さい。

投稿2016/12/07 00:33

編集2016/12/07 00:37
fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

iphonex

2016/12/07 00:48

実装する方法がわからないので、教えてください。
fuzzball

2016/12/07 00:54 編集

UITextFieldでいいんじゃないでしょうか?
iphonex

2016/12/07 15:08

どのようにすれば、パスコード認証が可能になるのでしょうか? どなたか、コードを紹介していただけませんか?
iphonex

2016/12/08 11:57

アプリケーションで設定するパスワードではなく、起動時のiphone本体のパスコード(4桁または6桁)を呼ぶロジックを知りたいのですが、無理なのでしょうか?
fuzzball

2016/12/08 12:16

私は知りません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問