From ae5b4e070fc7768755441aff4890d892f17d744c Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Wed, 9 Apr 2025 16:42:40 +0200 Subject: [PATCH] Remove storyboard from extension (#771) --- .../Base.lproj/MainInterface.storyboard | 57 ------------------- .../CredentialProviderViewController.swift | 16 +++++- mobile-app/ios/autofill/Info.plist | 4 +- 3 files changed, 16 insertions(+), 61 deletions(-) delete mode 100644 mobile-app/ios/autofill/Base.lproj/MainInterface.storyboard diff --git a/mobile-app/ios/autofill/Base.lproj/MainInterface.storyboard b/mobile-app/ios/autofill/Base.lproj/MainInterface.storyboard deleted file mode 100644 index 255319b48..000000000 --- a/mobile-app/ios/autofill/Base.lproj/MainInterface.storyboard +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mobile-app/ios/autofill/CredentialProviderViewController.swift b/mobile-app/ios/autofill/CredentialProviderViewController.swift index 5e3f63883..8e4915add 100644 --- a/mobile-app/ios/autofill/CredentialProviderViewController.swift +++ b/mobile-app/ios/autofill/CredentialProviderViewController.swift @@ -9,10 +9,11 @@ import AuthenticationServices import UIKit class CredentialProviderViewController: ASCredentialProviderViewController { - private var credentials: [Credential] = [] + var credentials: [Credential] = [] private let tableView = UITableView() private let addButton = UIButton(type: .system) private let loadButton = UIButton(type: .system) + private let cancelButton = UIButton(type: .system) private let loadingIndicator = UIActivityIndicatorView(style: .large) override func viewDidLoad() { @@ -33,6 +34,13 @@ class CredentialProviderViewController: ASCredentialProviderViewController { private func setupUI() { view.backgroundColor = .systemBackground + // Setup Cancel Button + cancelButton.setTitle("Cancel", for: .normal) + cancelButton.setTitleColor(.systemRed, for: .normal) + cancelButton.addTarget(self, action: #selector(cancelTapped), for: .touchUpInside) + view.addSubview(cancelButton) + cancelButton.translatesAutoresizingMaskIntoConstraints = false + // Setup Loading Indicator loadingIndicator.hidesWhenStopped = false loadingIndicator.color = .systemBlue @@ -64,7 +72,11 @@ class CredentialProviderViewController: ASCredentialProviderViewController { loadingIndicator.centerXAnchor.constraint(equalTo: view.centerXAnchor), loadingIndicator.centerYAnchor.constraint(equalTo: view.centerYAnchor), - tableView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor), + cancelButton.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 8), + cancelButton.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16), + cancelButton.heightAnchor.constraint(equalToConstant: 44), + + tableView.topAnchor.constraint(equalTo: cancelButton.bottomAnchor, constant: 8), tableView.leadingAnchor.constraint(equalTo: view.leadingAnchor), tableView.trailingAnchor.constraint(equalTo: view.trailingAnchor), tableView.bottomAnchor.constraint(equalTo: loadButton.topAnchor), diff --git a/mobile-app/ios/autofill/Info.plist b/mobile-app/ios/autofill/Info.plist index d229a3c6a..00b1f2635 100644 --- a/mobile-app/ios/autofill/Info.plist +++ b/mobile-app/ios/autofill/Info.plist @@ -4,8 +4,8 @@ NSExtension - NSExtensionMainStoryboard - MainInterface + NSExtensionPrincipalClass + $(PRODUCT_MODULE_NAME).CredentialProviderViewController NSExtensionPointIdentifier com.apple.authentication-services-credential-provider-ui NSExtensionAttributes