diff --git a/pass/Controllers/PGPKeySettingTableViewController.swift b/pass/Controllers/PGPKeySettingTableViewController.swift index f19422b..6423b1e 100644 --- a/pass/Controllers/PGPKeySettingTableViewController.swift +++ b/pass/Controllers/PGPKeySettingTableViewController.swift @@ -26,24 +26,15 @@ class PGPKeySettingTableViewController: UITableViewController { override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { if identifier == "savePGPKeySegue" { - guard pgpPublicKeyURLTextField.text != nil else { - return false - } - guard pgpPrivateKeyURLTextField.text != nil else { - return false - } - - guard URL(string: pgpPublicKeyURLTextField.text!) != nil else { + guard let pgpPublicKeyURL = URL(string: pgpPublicKeyURLTextField.text!) else { Utils.alert(title: "Cannot Save", message: "Please set Public Key URL first.", controller: self, completion: nil) return false } - guard URL(string: pgpPrivateKeyURLTextField.text!) != nil else { + guard let pgpPrivateKeyURL = URL(string: pgpPrivateKeyURLTextField.text!) else { Utils.alert(title: "Cannot Save", message: "Please set Private Key URL first.", controller: self, completion: nil) return false } - - if URL(string: pgpPublicKeyURLTextField.text!)!.scheme! == "http" && - URL(string: pgpPrivateKeyURLTextField.text!)!.scheme! == "http" { + guard pgpPublicKeyURL.scheme! == "https", pgpPrivateKeyURL.scheme! == "https" else { Utils.alert(title: "Cannot Save Settings", message: "HTTP connection is not supported.", controller: self, completion: nil) return false } @@ -55,7 +46,9 @@ class PGPKeySettingTableViewController: UITableViewController { let alert = UIAlertController(title: "Passphrase", message: "Please fill in the passphrase of your PGP secret key.", preferredStyle: UIAlertControllerStyle.alert) alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: {_ in self.pgpPassphrase = alert.textFields?.first?.text - self.performSegue(withIdentifier: "savePGPKeySegue", sender: self) + if self.shouldPerformSegue(withIdentifier: "savePGPKeySegue", sender: self) { + self.performSegue(withIdentifier: "savePGPKeySegue", sender: self) + } })) alert.addTextField(configurationHandler: {(textField: UITextField!) in textField.text = self.pgpPassphrase