├── .codecov.yml ├── .github ├── actions │ ├── prepare-simulator │ │ └── action.yml │ └── xcode-select │ │ └── action.yml └── workflows │ └── test.yml ├── .gitignore ├── .gitmodules ├── .hound.yml ├── .mailmap ├── .swiftlint.yml ├── AUTHORS ├── Authenticator.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcshareddata │ └── xcschemes │ ├── Authenticator Demo.xcscheme │ └── Authenticator.xcscheme ├── Authenticator.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── Authenticator ├── Resources │ ├── Acknowledgements.html │ ├── BackupInfo.html │ ├── GenerateIcons.sh │ ├── Icon.svg │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-1024.png │ │ │ ├── Icon-120.png │ │ │ ├── Icon-152.png │ │ │ ├── Icon-167.png │ │ │ ├── Icon-180.png │ │ │ ├── Icon-20.png │ │ │ ├── Icon-29.png │ │ │ ├── Icon-40.png │ │ │ ├── Icon-58.png │ │ │ ├── Icon-60.png │ │ │ ├── Icon-76.png │ │ │ ├── Icon-80.png │ │ │ └── Icon-87.png │ ├── Info.plist │ └── LaunchScreen.xib └── Source │ ├── AppController.swift │ ├── BarButtonViewModel.swift │ ├── ButtonHeaderView.swift │ ├── Colors.swift │ ├── Component.swift │ ├── Demo.swift │ ├── DisplayOptions.swift │ ├── DisplayOptionsViewController.swift │ ├── DisplayTime.swift │ ├── FocusCell.swift │ ├── Info.swift │ ├── InfoList.swift │ ├── InfoListViewController.swift │ ├── InfoViewController.swift │ ├── Menu.swift │ ├── OTPAppDelegate.swift │ ├── ProgressRingView.swift │ ├── QRScanner.swift │ ├── Root.swift │ ├── RootViewController.swift │ ├── RootViewModel.swift │ ├── ScannerOverlayView.swift │ ├── SearchField.swift │ ├── Section.swift │ ├── SegmentedControlRow.swift │ ├── Settings.swift │ ├── TableDiff.swift │ ├── TableViewModel.swift │ ├── TextFieldRow.swift │ ├── TokenEditForm.swift │ ├── TokenEntryForm.swift │ ├── TokenFormModels.swift │ ├── TokenFormViewController.swift │ ├── TokenList.swift │ ├── TokenListViewController.swift │ ├── TokenListViewModel.swift │ ├── TokenRowCell.swift │ ├── TokenRowModel.swift │ ├── TokenScanner.swift │ ├── TokenScannerViewController.swift │ ├── TokenStore.swift │ ├── UITableView+ReusableCells.swift │ └── UITableView+Updates.swift ├── AuthenticatorScreenshots ├── AuthenticatorScreenshots.swift ├── Info.plist └── QRCode.jpg ├── AuthenticatorTests ├── Info.plist ├── MockTableView.swift ├── OTPAuthenticatorTests.m ├── OneTimePasswordExtensions.swift ├── RootTests.swift ├── TableDiffTests.swift ├── TokenListTests.swift ├── TokenListViewControllerTest.swift ├── TokenScannerTests.swift ├── UITableViewUpdateTests.swift └── ViewHierarchyHelpers.swift ├── CHANGELOG.md ├── CONDUCT.md ├── CONTRIBUTING.md ├── Cartfile ├── Cartfile.private ├── Cartfile.resolved ├── Gemfile ├── Gemfile.lock ├── LICENSE.txt ├── README.md └── fastlane ├── Appfile ├── Fastfile ├── Gymfile ├── README.md ├── Snapfile ├── SnapshotHelper.swift ├── metadata ├── app_icon.png ├── copyright.txt ├── en-US │ ├── description.txt │ ├── keywords.txt │ ├── marketing_url.txt │ ├── name.txt │ ├── privacy_url.txt │ ├── promotional_text.txt │ ├── release_notes.txt │ ├── subtitle.txt │ └── support_url.txt ├── primary_category.txt ├── primary_first_sub_category.txt ├── primary_second_sub_category.txt ├── review_information │ ├── demo_password.txt │ ├── demo_user.txt │ └── notes.txt ├── secondary_category.txt ├── secondary_first_sub_category.txt ├── secondary_second_sub_category.txt └── trade_representative_contact_information │ └── is_displayed_on_app_store.txt └── screenshots ├── README.md └── en-US ├── iPhone 8 Plus-0-TokenList.png ├── iPhone 8 Plus-1-ScanToken.png ├── iPhone 8 Plus-2-AddToken.png ├── iPhone 8-0-TokenList.png ├── iPhone 8-1-ScanToken.png ├── iPhone 8-2-AddToken.png ├── iPhone SE (1st generation)-0-TokenList.png ├── iPhone SE (1st generation)-1-ScanToken.png ├── iPhone SE (1st generation)-2-AddToken.png ├── iPhone Xs Max-0-TokenList.png ├── iPhone Xs Max-1-ScanToken.png ├── iPhone Xs Max-2-AddToken.png ├── iPhone Xs-0-TokenList.png ├── iPhone Xs-1-ScanToken.png └── iPhone Xs-2-AddToken.png /.codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/.codecov.yml -------------------------------------------------------------------------------- /.github/actions/prepare-simulator/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/.github/actions/prepare-simulator/action.yml -------------------------------------------------------------------------------- /.github/actions/xcode-select/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/.github/actions/xcode-select/action.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/.gitmodules -------------------------------------------------------------------------------- /.hound.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/.hound.yml -------------------------------------------------------------------------------- /.mailmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/.mailmap -------------------------------------------------------------------------------- /.swiftlint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/.swiftlint.yml -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AUTHORS -------------------------------------------------------------------------------- /Authenticator.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Authenticator.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Authenticator.xcodeproj/xcshareddata/xcschemes/Authenticator Demo.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator.xcodeproj/xcshareddata/xcschemes/Authenticator Demo.xcscheme -------------------------------------------------------------------------------- /Authenticator.xcodeproj/xcshareddata/xcschemes/Authenticator.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator.xcodeproj/xcshareddata/xcschemes/Authenticator.xcscheme -------------------------------------------------------------------------------- /Authenticator.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Authenticator.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Authenticator/Resources/Acknowledgements.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Acknowledgements.html -------------------------------------------------------------------------------- /Authenticator/Resources/BackupInfo.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/BackupInfo.html -------------------------------------------------------------------------------- /Authenticator/Resources/GenerateIcons.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/GenerateIcons.sh -------------------------------------------------------------------------------- /Authenticator/Resources/Icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Icon.svg -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-1024.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-120.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-152.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-167.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-180.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-20.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-29.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-40.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-58.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-60.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-76.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-80.png -------------------------------------------------------------------------------- /Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Images.xcassets/AppIcon.appiconset/Icon-87.png -------------------------------------------------------------------------------- /Authenticator/Resources/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/Info.plist -------------------------------------------------------------------------------- /Authenticator/Resources/LaunchScreen.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Resources/LaunchScreen.xib -------------------------------------------------------------------------------- /Authenticator/Source/AppController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/AppController.swift -------------------------------------------------------------------------------- /Authenticator/Source/BarButtonViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/BarButtonViewModel.swift -------------------------------------------------------------------------------- /Authenticator/Source/ButtonHeaderView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/ButtonHeaderView.swift -------------------------------------------------------------------------------- /Authenticator/Source/Colors.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/Colors.swift -------------------------------------------------------------------------------- /Authenticator/Source/Component.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/Component.swift -------------------------------------------------------------------------------- /Authenticator/Source/Demo.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/Demo.swift -------------------------------------------------------------------------------- /Authenticator/Source/DisplayOptions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/DisplayOptions.swift -------------------------------------------------------------------------------- /Authenticator/Source/DisplayOptionsViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/DisplayOptionsViewController.swift -------------------------------------------------------------------------------- /Authenticator/Source/DisplayTime.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/DisplayTime.swift -------------------------------------------------------------------------------- /Authenticator/Source/FocusCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/FocusCell.swift -------------------------------------------------------------------------------- /Authenticator/Source/Info.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/Info.swift -------------------------------------------------------------------------------- /Authenticator/Source/InfoList.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/InfoList.swift -------------------------------------------------------------------------------- /Authenticator/Source/InfoListViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/InfoListViewController.swift -------------------------------------------------------------------------------- /Authenticator/Source/InfoViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/InfoViewController.swift -------------------------------------------------------------------------------- /Authenticator/Source/Menu.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/Menu.swift -------------------------------------------------------------------------------- /Authenticator/Source/OTPAppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/OTPAppDelegate.swift -------------------------------------------------------------------------------- /Authenticator/Source/ProgressRingView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/ProgressRingView.swift -------------------------------------------------------------------------------- /Authenticator/Source/QRScanner.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/QRScanner.swift -------------------------------------------------------------------------------- /Authenticator/Source/Root.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/Root.swift -------------------------------------------------------------------------------- /Authenticator/Source/RootViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/RootViewController.swift -------------------------------------------------------------------------------- /Authenticator/Source/RootViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/RootViewModel.swift -------------------------------------------------------------------------------- /Authenticator/Source/ScannerOverlayView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/ScannerOverlayView.swift -------------------------------------------------------------------------------- /Authenticator/Source/SearchField.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/SearchField.swift -------------------------------------------------------------------------------- /Authenticator/Source/Section.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/Section.swift -------------------------------------------------------------------------------- /Authenticator/Source/SegmentedControlRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/SegmentedControlRow.swift -------------------------------------------------------------------------------- /Authenticator/Source/Settings.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/Settings.swift -------------------------------------------------------------------------------- /Authenticator/Source/TableDiff.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TableDiff.swift -------------------------------------------------------------------------------- /Authenticator/Source/TableViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TableViewModel.swift -------------------------------------------------------------------------------- /Authenticator/Source/TextFieldRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TextFieldRow.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenEditForm.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenEditForm.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenEntryForm.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenEntryForm.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenFormModels.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenFormModels.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenFormViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenFormViewController.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenList.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenList.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenListViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenListViewController.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenListViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenListViewModel.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenRowCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenRowCell.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenRowModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenRowModel.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenScanner.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenScanner.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenScannerViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenScannerViewController.swift -------------------------------------------------------------------------------- /Authenticator/Source/TokenStore.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/TokenStore.swift -------------------------------------------------------------------------------- /Authenticator/Source/UITableView+ReusableCells.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/UITableView+ReusableCells.swift -------------------------------------------------------------------------------- /Authenticator/Source/UITableView+Updates.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Authenticator/Source/UITableView+Updates.swift -------------------------------------------------------------------------------- /AuthenticatorScreenshots/AuthenticatorScreenshots.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorScreenshots/AuthenticatorScreenshots.swift -------------------------------------------------------------------------------- /AuthenticatorScreenshots/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorScreenshots/Info.plist -------------------------------------------------------------------------------- /AuthenticatorScreenshots/QRCode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorScreenshots/QRCode.jpg -------------------------------------------------------------------------------- /AuthenticatorTests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/Info.plist -------------------------------------------------------------------------------- /AuthenticatorTests/MockTableView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/MockTableView.swift -------------------------------------------------------------------------------- /AuthenticatorTests/OTPAuthenticatorTests.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/OTPAuthenticatorTests.m -------------------------------------------------------------------------------- /AuthenticatorTests/OneTimePasswordExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/OneTimePasswordExtensions.swift -------------------------------------------------------------------------------- /AuthenticatorTests/RootTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/RootTests.swift -------------------------------------------------------------------------------- /AuthenticatorTests/TableDiffTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/TableDiffTests.swift -------------------------------------------------------------------------------- /AuthenticatorTests/TokenListTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/TokenListTests.swift -------------------------------------------------------------------------------- /AuthenticatorTests/TokenListViewControllerTest.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/TokenListViewControllerTest.swift -------------------------------------------------------------------------------- /AuthenticatorTests/TokenScannerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/TokenScannerTests.swift -------------------------------------------------------------------------------- /AuthenticatorTests/UITableViewUpdateTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/UITableViewUpdateTests.swift -------------------------------------------------------------------------------- /AuthenticatorTests/ViewHierarchyHelpers.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/AuthenticatorTests/ViewHierarchyHelpers.swift -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cartfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Cartfile -------------------------------------------------------------------------------- /Cartfile.private: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Cartfile.private -------------------------------------------------------------------------------- /Cartfile.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Cartfile.resolved -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "fastlane", "~> 2.181" 4 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/README.md -------------------------------------------------------------------------------- /fastlane/Appfile: -------------------------------------------------------------------------------- 1 | app_identifier "me.mattrubin.authenticator" 2 | -------------------------------------------------------------------------------- /fastlane/Fastfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/Fastfile -------------------------------------------------------------------------------- /fastlane/Gymfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/Gymfile -------------------------------------------------------------------------------- /fastlane/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/README.md -------------------------------------------------------------------------------- /fastlane/Snapfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/Snapfile -------------------------------------------------------------------------------- /fastlane/SnapshotHelper.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/SnapshotHelper.swift -------------------------------------------------------------------------------- /fastlane/metadata/app_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/metadata/app_icon.png -------------------------------------------------------------------------------- /fastlane/metadata/copyright.txt: -------------------------------------------------------------------------------- 1 | 2013-2019 Matt Rubin 2 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/description.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/metadata/en-US/description.txt -------------------------------------------------------------------------------- /fastlane/metadata/en-US/keywords.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/metadata/en-US/keywords.txt -------------------------------------------------------------------------------- /fastlane/metadata/en-US/marketing_url.txt: -------------------------------------------------------------------------------- 1 | https://mattrubin.me/authenticator/ 2 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/name.txt: -------------------------------------------------------------------------------- 1 | Authenticator 2 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/privacy_url.txt: -------------------------------------------------------------------------------- 1 | https://mattrubin.me/authenticator/privacy.html 2 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/promotional_text.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/release_notes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/metadata/en-US/release_notes.txt -------------------------------------------------------------------------------- /fastlane/metadata/en-US/subtitle.txt: -------------------------------------------------------------------------------- 1 | Simple 2-factor authentication 2 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/support_url.txt: -------------------------------------------------------------------------------- 1 | https://mattrubin.me/authenticator/ 2 | -------------------------------------------------------------------------------- /fastlane/metadata/primary_category.txt: -------------------------------------------------------------------------------- 1 | MZGenre.Utilities 2 | -------------------------------------------------------------------------------- /fastlane/metadata/primary_first_sub_category.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/primary_second_sub_category.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/review_information/demo_password.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/review_information/demo_user.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/review_information/notes.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/secondary_category.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/secondary_first_sub_category.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/secondary_second_sub_category.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/trade_representative_contact_information/is_displayed_on_app_store.txt: -------------------------------------------------------------------------------- 1 | false 2 | -------------------------------------------------------------------------------- /fastlane/screenshots/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/README.md -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone 8 Plus-0-TokenList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone 8 Plus-0-TokenList.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone 8 Plus-1-ScanToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone 8 Plus-1-ScanToken.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone 8 Plus-2-AddToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone 8 Plus-2-AddToken.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone 8-0-TokenList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone 8-0-TokenList.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone 8-1-ScanToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone 8-1-ScanToken.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone 8-2-AddToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone 8-2-AddToken.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone SE (1st generation)-0-TokenList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone SE (1st generation)-0-TokenList.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone SE (1st generation)-1-ScanToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone SE (1st generation)-1-ScanToken.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone SE (1st generation)-2-AddToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone SE (1st generation)-2-AddToken.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone Xs Max-0-TokenList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone Xs Max-0-TokenList.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone Xs Max-1-ScanToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone Xs Max-1-ScanToken.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone Xs Max-2-AddToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone Xs Max-2-AddToken.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone Xs-0-TokenList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone Xs-0-TokenList.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone Xs-1-ScanToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone Xs-1-ScanToken.png -------------------------------------------------------------------------------- /fastlane/screenshots/en-US/iPhone Xs-2-AddToken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattrubin/Authenticator/HEAD/fastlane/screenshots/en-US/iPhone Xs-2-AddToken.png --------------------------------------------------------------------------------