Files
2026-04-10 12:42:39 -04:00

889 lines
52 KiB
Plaintext

// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 90;
objects = {
/* Begin PBXBuildFile section */
1D3623260D0F684500981E51 /* OTPAppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* OTPAppDelegate.swift */; };
8B0028B511EB75920092DE18 /* ScannerOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B0028B411EB75920092DE18 /* ScannerOverlayView.swift */; };
C910ADC11BF0315A00C988F5 /* TokenList.swift in Sources */ = {isa = PBXBuildFile; fileRef = C910ADC01BF0315A00C988F5 /* TokenList.swift */; };
C9204A851E886A3500998D3E /* Acknowledgements.html in Resources */ = {isa = PBXBuildFile; fileRef = C9204A841E886A3500998D3E /* Acknowledgements.html */; };
C92708AC19CFB0750033128B /* TokenListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C92708AB19CFB0750033128B /* TokenListViewController.swift */; };
C93AD15219CD51BE007480E9 /* Colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93AD15119CD51BE007480E9 /* Colors.swift */; };
C93BD6231C167CD100FFFB8F /* Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93BD6221C167CD100FFFB8F /* Root.swift */; };
C93BD6251C16841D00FFFB8F /* RootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93BD6241C16841D00FFFB8F /* RootViewController.swift */; };
C93BD6291C168EBF00FFFB8F /* RootViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93BD6281C168EBF00FFFB8F /* RootViewModel.swift */; };
C944A5571A7ECB0800E08B1E /* OneTimePassword.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = C944A5561A7ECB0800E08B1E /* OneTimePassword.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
C944A5591A7ECB3100E08B1E /* Base32.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = C944A5581A7ECB3100E08B1E /* Base32.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
C968D1151CB4C639004ED7BB /* DisplayTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = C968D1141CB4C639004ED7BB /* DisplayTime.swift */; };
C97CDF261BEEA66A00D64406 /* SVProgressHUD.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = C97CDF241BEEA49300D64406 /* SVProgressHUD.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
C97CDF2C1BEEC90100D64406 /* QRScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97CDF2B1BEEC90100D64406 /* QRScanner.swift */; };
C983AB74197F98FC00975003 /* OTPAuthenticatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C983AB73197F98FC00975003 /* OTPAuthenticatorTests.m */; };
C98B1ECA1AB2CEC300C59E53 /* TokenRowModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C98B1EC91AB2CEC300C59E53 /* TokenRowModel.swift */; };
C98B1ECC1AB3CF0700C59E53 /* TokenRowCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C98B1ECB1AB3CF0700C59E53 /* TokenRowCell.swift */; };
C99069D1180CBAC900BAEF53 /* TokenScannerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C99069D0180CBAC900BAEF53 /* TokenScannerViewController.swift */; };
C99112681E202B860006A6C0 /* UITableView+Updates.swift in Sources */ = {isa = PBXBuildFile; fileRef = C99112671E202B860006A6C0 /* UITableView+Updates.swift */; };
C991126A1E2073710006A6C0 /* UITableViewUpdateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C99112691E2073710006A6C0 /* UITableViewUpdateTests.swift */; };
C9919CDD1BA64EED006237C1 /* TokenEntryForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9919CDC1BA64EED006237C1 /* TokenEntryForm.swift */; };
C9919CE01BA721A1006237C1 /* ButtonHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9919CDF1BA721A1006237C1 /* ButtonHeaderView.swift */; };
C9919CE21BA733FD006237C1 /* Section.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9919CE11BA733FD006237C1 /* Section.swift */; };
C99B85251BC9AB7100A6C75D /* BarButtonViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C99B85241BC9AB7100A6C75D /* BarButtonViewModel.swift */; };
C9A1C1A61E501CB2009E65D6 /* InfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A1C1A51E501CB2009E65D6 /* InfoViewController.swift */; };
C9A1C1A91E501D8B009E65D6 /* Info.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A1C1A81E501D8B009E65D6 /* Info.swift */; };
C9A1C1AC1E5021A6009E65D6 /* BackupInfo.html in Resources */ = {isa = PBXBuildFile; fileRef = C9A1C1AA1E502195009E65D6 /* BackupInfo.html */; };
C9A1C1CE1E6CDBFB009E65D6 /* RootTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A1C1CD1E6CDBFB009E65D6 /* RootTests.swift */; };
C9A23F2E2159C28200615846 /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A23F2D2159C28200615846 /* Settings.swift */; };
C9A262D01E170BD4004E6CEB /* AuthenticatorScreenshots.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A262CF1E170BD4004E6CEB /* AuthenticatorScreenshots.swift */; };
C9A262D81E170E3A004E6CEB /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A262D71E170E3A004E6CEB /* SnapshotHelper.swift */; };
C9A262DA1E176A18004E6CEB /* Demo.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A262D91E176A18004E6CEB /* Demo.swift */; };
C9AAB0791B9113BF000CE547 /* TokenFormModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9AAB0781B9113BF000CE547 /* TokenFormModels.swift */; };
C9AAB07F1B917EC3000CE547 /* TokenEditForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9AAB07E1B917EC3000CE547 /* TokenEditForm.swift */; };
C9B7328D1C09495D0076F77E /* TableDiff.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9B7328C1C09495D0076F77E /* TableDiff.swift */; };
C9B7328F1C0A8AE60076F77E /* TokenListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9B7328E1C0A8AE60076F77E /* TokenListViewModel.swift */; };
C9BA64EA1C0C4FBC00610C7C /* UITableView+ReusableCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9BA64E91C0C4FBC00610C7C /* UITableView+ReusableCells.swift */; };
C9BEAE6019C67FD800533385 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = C9BEAE5F19C67FD800533385 /* LaunchScreen.xib */; };
C9C27228299946190067D723 /* ViewHierarchyHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9C27227299946190067D723 /* ViewHierarchyHelpers.swift */; };
C9C6CCA21842E331000100C2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C9C6CCA11842E331000100C2 /* Images.xcassets */; };
C9CC09511BA903B7008C54FE /* TokenFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CC09501BA903B7008C54FE /* TokenFormViewController.swift */; };
C9CC09531BA9133B008C54FE /* FocusCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CC09521BA9133B008C54FE /* FocusCell.swift */; };
C9CC09551BA91D1C008C54FE /* TableViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CC09541BA91D1C008C54FE /* TableViewModel.swift */; };
C9CDD1CF209662E100636056 /* DisplayOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CDD1CE209662E100636056 /* DisplayOptions.swift */; };
C9CDD1D12096635300636056 /* DisplayOptionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CDD1D02096635300636056 /* DisplayOptionsViewController.swift */; };
C9D6C83F1906BD68004F0E08 /* SegmentedControlRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9D6C83E1906BD68004F0E08 /* SegmentedControlRow.swift */; };
C9D6C8461906CD54004F0E08 /* TextFieldRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9D6C8451906CD54004F0E08 /* TextFieldRow.swift */; };
C9D6C84C19075044004F0E08 /* ProgressRingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9D6C84B19075044004F0E08 /* ProgressRingView.swift */; };
C9DE02E71ED2234D00D7E01C /* InfoList.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9DE02E61ED2234D00D7E01C /* InfoList.swift */; };
C9DE02E91ED227D600D7E01C /* InfoListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9DE02E81ED227D600D7E01C /* InfoListViewController.swift */; };
C9E11E1121543E2A00C1AA53 /* Menu.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9E11E1021543E2A00C1AA53 /* Menu.swift */; };
C9E3FB9A1E281CBC00EFA8BB /* TokenScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9E3FB991E281CBC00EFA8BB /* TokenScanner.swift */; };
C9E3FB9C1E2860DD00EFA8BB /* TokenScannerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9E3FB9B1E2860DD00EFA8BB /* TokenScannerTests.swift */; };
C9EB448E1C52A74200ACFA87 /* Component.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9EB448D1C52A74200ACFA87 /* Component.swift */; };
C9EB44901C52AE4500ACFA87 /* AppController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9EB448F1C52AE4500ACFA87 /* AppController.swift */; };
C9F7A8611C4D90B50082E5AE /* TokenStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9F7A8601C4D90B50082E5AE /* TokenStore.swift */; };
CC46C4711DB3007D00EB4605 /* SearchField.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC46C4701DB3007D00EB4605 /* SearchField.swift */; };
CC46C4731DB3040300EB4605 /* TokenListTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC46C4721DB3040300EB4605 /* TokenListTests.swift */; };
CC471EEB1DC027A6006858AC /* TokenListViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC471EEA1DC027A6006858AC /* TokenListViewControllerTest.swift */; };
CC471EED1DC1377F006858AC /* MockTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC471EEC1DC1377F006858AC /* MockTableView.swift */; };
CCC409761DB28BFE000A050D /* TableDiffTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCC409751DB28BFE000A050D /* TableDiffTests.swift */; };
CCCD668B1E1C74B4005FE96E /* OneTimePasswordExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCCD668A1E1C74B4005FE96E /* OneTimePasswordExtensions.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
C9906A3C1812522100BAEF53 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
proxyType = 1;
remoteGlobalIDString = 1D6058900D05DD3D006BFB54;
remoteInfo = Authenticator;
};
C9A262D21E170BD4004E6CEB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
proxyType = 1;
remoteGlobalIDString = 1D6058900D05DD3D006BFB54;
remoteInfo = Authenticator;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
C944A5531A7ECA5000E08B1E /* Copy Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
dstPath = "";
dstSubfolder = Frameworks;
files = (
C944A5591A7ECB3100E08B1E /* Base32.framework in Copy Frameworks */,
C944A5571A7ECB0800E08B1E /* OneTimePassword.framework in Copy Frameworks */,
C97CDF261BEEA66A00D64406 /* SVProgressHUD.framework in Copy Frameworks */,
);
name = "Copy Frameworks";
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1D3623250D0F684500981E51 /* OTPAppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OTPAppDelegate.swift; sourceTree = "<group>"; };
1D6058910D05DD3D006BFB54 /* Authenticator.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Authenticator.app; sourceTree = BUILT_PRODUCTS_DIR; };
8B0028B411EB75920092DE18 /* ScannerOverlayView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScannerOverlayView.swift; sourceTree = "<group>"; };
8B2B8AE1118BA49F00437315 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.md; sourceTree = "<group>"; };
8BF5147F118799AE005C936F /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
C910ADC01BF0315A00C988F5 /* TokenList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenList.swift; sourceTree = "<group>"; };
C91CDAEE214EEA82006488F7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
C91CDAFD214EF044006488F7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
C9204A841E886A3500998D3E /* Acknowledgements.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Acknowledgements.html; sourceTree = "<group>"; };
C92708AB19CFB0750033128B /* TokenListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenListViewController.swift; sourceTree = "<group>"; };
C931A5FC1BFF6F9D00706A1C /* .hound.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .hound.yml; sourceTree = "<group>"; };
C931A5FE1BFF6FA600706A1C /* .swiftlint.yml */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = text; path = .swiftlint.yml; sourceTree = "<group>"; usesTabs = 0; };
C931A6021BFF707E00706A1C /* Cartfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cartfile; sourceTree = "<group>"; };
C93AD15119CD51BE007480E9 /* Colors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = "<group>"; };
C93BD6221C167CD100FFFB8F /* Root.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Root.swift; sourceTree = "<group>"; };
C93BD6241C16841D00FFFB8F /* RootViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RootViewController.swift; sourceTree = "<group>"; };
C93BD6281C168EBF00FFFB8F /* RootViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RootViewModel.swift; sourceTree = "<group>"; };
C944A5561A7ECB0800E08B1E /* OneTimePassword.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = OneTimePassword.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C944A5581A7ECB3100E08B1E /* Base32.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Base32.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C944A56A1A7F772600E08B1E /* Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Configurations/Debug.xcconfig; sourceTree = "<group>"; };
C944A56B1A7F772600E08B1E /* Profile.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Profile.xcconfig; path = Configurations/Profile.xcconfig; sourceTree = "<group>"; };
C944A56C1A7F772600E08B1E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Configurations/Release.xcconfig; sourceTree = "<group>"; };
C944A56D1A7F772600E08B1E /* Test.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Test.xcconfig; path = Configurations/Test.xcconfig; sourceTree = "<group>"; };
C944A5731A7F772600E08B1E /* iOS-Application.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "iOS-Application.xcconfig"; sourceTree = "<group>"; };
C944A5751A7F772600E08B1E /* iOS-Framework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "iOS-Framework.xcconfig"; sourceTree = "<group>"; };
C944A5761A7F772600E08B1E /* iOS-StaticLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "iOS-StaticLibrary.xcconfig"; sourceTree = "<group>"; };
C94765081C646E5E00C7527E /* Cartfile.private */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cartfile.private; sourceTree = "<group>"; };
C959A63C190A69120042DEC0 /* Icon.svg */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = Icon.svg; sourceTree = "<group>"; };
C959A63E190A69E60042DEC0 /* GenerateIcons.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = GenerateIcons.sh; sourceTree = "<group>"; };
C968D1141CB4C639004ED7BB /* DisplayTime.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DisplayTime.swift; sourceTree = "<group>"; };
C96E60561DBC5F1B00484823 /* .codecov.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .codecov.yml; sourceTree = "<group>"; };
C9776E3318518801003D53CB /* LICENSE.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE.txt; sourceTree = "<group>"; };
C97CDF041BEE927200D64406 /* AUTHORS */ = {isa = PBXFileReference; lastKnownFileType = text; path = AUTHORS; sourceTree = "<group>"; };
C97CDF241BEEA49300D64406 /* SVProgressHUD.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SVProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C97CDF2B1BEEC90100D64406 /* QRScanner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QRScanner.swift; sourceTree = "<group>"; };
C983AB73197F98FC00975003 /* OTPAuthenticatorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OTPAuthenticatorTests.m; sourceTree = "<group>"; };
C98B1EC91AB2CEC300C59E53 /* TokenRowModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenRowModel.swift; sourceTree = "<group>"; };
C98B1ECB1AB3CF0700C59E53 /* TokenRowCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenRowCell.swift; sourceTree = "<group>"; };
C98C7F331C5E888100DB1478 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = "<group>"; };
C99069D0180CBAC900BAEF53 /* TokenScannerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenScannerViewController.swift; sourceTree = "<group>"; };
C9906A2E1812522100BAEF53 /* AuthenticatorTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AuthenticatorTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
C99112671E202B860006A6C0 /* UITableView+Updates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableView+Updates.swift"; sourceTree = "<group>"; };
C99112691E2073710006A6C0 /* UITableViewUpdateTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UITableViewUpdateTests.swift; sourceTree = "<group>"; };
C9919CDC1BA64EED006237C1 /* TokenEntryForm.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenEntryForm.swift; sourceTree = "<group>"; };
C9919CDF1BA721A1006237C1 /* ButtonHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonHeaderView.swift; sourceTree = "<group>"; };
C9919CE11BA733FD006237C1 /* Section.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Section.swift; sourceTree = "<group>"; };
C99B85241BC9AB7100A6C75D /* BarButtonViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BarButtonViewModel.swift; sourceTree = "<group>"; };
C9A1C1A51E501CB2009E65D6 /* InfoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InfoViewController.swift; sourceTree = "<group>"; };
C9A1C1A81E501D8B009E65D6 /* Info.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Info.swift; sourceTree = "<group>"; };
C9A1C1AA1E502195009E65D6 /* BackupInfo.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = BackupInfo.html; sourceTree = "<group>"; };
C9A1C1CD1E6CDBFB009E65D6 /* RootTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RootTests.swift; sourceTree = "<group>"; };
C9A23F2D2159C28200615846 /* Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = "<group>"; };
C9A262CD1E170BD4004E6CEB /* AuthenticatorScreenshots.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AuthenticatorScreenshots.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
C9A262CF1E170BD4004E6CEB /* AuthenticatorScreenshots.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticatorScreenshots.swift; sourceTree = "<group>"; };
C9A262D71E170E3A004E6CEB /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SnapshotHelper.swift; path = fastlane/SnapshotHelper.swift; sourceTree = SOURCE_ROOT; };
C9A262D91E176A18004E6CEB /* Demo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Demo.swift; sourceTree = "<group>"; };
C9AAB0781B9113BF000CE547 /* TokenFormModels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenFormModels.swift; sourceTree = "<group>"; };
C9AAB07E1B917EC3000CE547 /* TokenEditForm.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenEditForm.swift; sourceTree = "<group>"; };
C9B7328C1C09495D0076F77E /* TableDiff.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableDiff.swift; sourceTree = "<group>"; };
C9B7328E1C0A8AE60076F77E /* TokenListViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenListViewModel.swift; sourceTree = "<group>"; };
C9BA64E91C0C4FBC00610C7C /* UITableView+ReusableCells.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableView+ReusableCells.swift"; sourceTree = "<group>"; };
C9BEAE5F19C67FD800533385 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = "<group>"; };
C9C27227299946190067D723 /* ViewHierarchyHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewHierarchyHelpers.swift; sourceTree = "<group>"; };
C9C6CCA11842E331000100C2 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
C9CC09501BA903B7008C54FE /* TokenFormViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenFormViewController.swift; sourceTree = "<group>"; };
C9CC09521BA9133B008C54FE /* FocusCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FocusCell.swift; sourceTree = "<group>"; };
C9CC09541BA91D1C008C54FE /* TableViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableViewModel.swift; sourceTree = "<group>"; };
C9CDD1CE209662E100636056 /* DisplayOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayOptions.swift; sourceTree = "<group>"; };
C9CDD1D02096635300636056 /* DisplayOptionsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayOptionsViewController.swift; sourceTree = "<group>"; };
C9D6C83E1906BD68004F0E08 /* SegmentedControlRow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SegmentedControlRow.swift; sourceTree = "<group>"; };
C9D6C8451906CD54004F0E08 /* TextFieldRow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldRow.swift; sourceTree = "<group>"; };
C9D6C84B19075044004F0E08 /* ProgressRingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProgressRingView.swift; sourceTree = "<group>"; };
C9D844341D4C576B00D5E343 /* CONTRIBUTING.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = "<group>"; };
C9D844361D4C59D600D5E343 /* CONDUCT.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CONDUCT.md; sourceTree = "<group>"; };
C9DE02E61ED2234D00D7E01C /* InfoList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InfoList.swift; sourceTree = "<group>"; };
C9DE02E81ED227D600D7E01C /* InfoListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InfoListViewController.swift; sourceTree = "<group>"; };
C9E11E1021543E2A00C1AA53 /* Menu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Menu.swift; sourceTree = "<group>"; };
C9E3FB991E281CBC00EFA8BB /* TokenScanner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenScanner.swift; sourceTree = "<group>"; };
C9E3FB9B1E2860DD00EFA8BB /* TokenScannerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenScannerTests.swift; sourceTree = "<group>"; };
C9EB448D1C52A74200ACFA87 /* Component.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Component.swift; sourceTree = "<group>"; };
C9EB448F1C52AE4500ACFA87 /* AppController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppController.swift; sourceTree = "<group>"; };
C9F7A8601C4D90B50082E5AE /* TokenStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenStore.swift; sourceTree = "<group>"; };
CC46C4701DB3007D00EB4605 /* SearchField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchField.swift; sourceTree = "<group>"; };
CC46C4721DB3040300EB4605 /* TokenListTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenListTests.swift; sourceTree = "<group>"; };
CC471EEA1DC027A6006858AC /* TokenListViewControllerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenListViewControllerTest.swift; sourceTree = "<group>"; };
CC471EEC1DC1377F006858AC /* MockTableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockTableView.swift; sourceTree = "<group>"; };
CCC409751DB28BFE000A050D /* TableDiffTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableDiffTests.swift; sourceTree = "<group>"; };
CCCD668A1E1C74B4005FE96E /* OneTimePasswordExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OneTimePasswordExtensions.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
files = (
);
};
C9906A2B1812522100BAEF53 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
files = (
);
};
C9A262DB1E177431004E6CEB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
files = (
);
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* Source */ = {
isa = PBXGroup;
children = (
1D3623250D0F684500981E51 /* OTPAppDelegate.swift */,
C9EB448F1C52AE4500ACFA87 /* AppController.swift */,
C9EB448D1C52A74200ACFA87 /* Component.swift */,
C9F7A8621C4F2E200082E5AE /* Data Store */,
C981BBF21C5094A500A30CBA /* Root Component */,
C98C1C4917D2F03400A07D3F /* Token List */,
C9B0B9501BC9159300BD5844 /* Forms */,
C97CDF2D1BEF10B300D64406 /* Scanner */,
C9A1C1A71E501D5F009E65D6 /* Info */,
C98C1C4E17D2F14500A07D3F /* Utility */,
);
path = Source;
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
1D6058910D05DD3D006BFB54 /* Authenticator.app */,
C9906A2E1812522100BAEF53 /* AuthenticatorTests.xctest */,
C9A262CD1E170BD4004E6CEB /* AuthenticatorScreenshots.xctest */,
);
name = Products;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
C97B68CB17D964D4005D1FE0 /* Authenticator */,
C9906A331812522100BAEF53 /* AuthenticatorTests */,
C9A262CE1E170BD4004E6CEB /* AuthenticatorScreenshots */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
C944A5661A7F772500E08B1E /* Configuration */,
19C28FACFE9D520D11CA2CBB /* Products */,
C931A5FB1BFF6F3A00706A1C /* Tools */,
C9776E32185187E8003D53CB /* Docs */,
);
indentWidth = 4;
name = CustomTemplate;
sourceTree = "<group>";
usesTabs = 0;
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
C9204A841E886A3500998D3E /* Acknowledgements.html */,
C9A1C1AA1E502195009E65D6 /* BackupInfo.html */,
8BF5147F118799AE005C936F /* Info.plist */,
C9F75C921843CFFD00B6FA14 /* App Icon */,
C9C6CCA11842E331000100C2 /* Images.xcassets */,
C9BEAE5F19C67FD800533385 /* LaunchScreen.xib */,
);
path = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
C944A5581A7ECB3100E08B1E /* Base32.framework */,
C944A5561A7ECB0800E08B1E /* OneTimePassword.framework */,
C97CDF241BEEA49300D64406 /* SVProgressHUD.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
C931A5FB1BFF6F3A00706A1C /* Tools */ = {
isa = PBXGroup;
children = (
C931A6021BFF707E00706A1C /* Cartfile */,
C94765081C646E5E00C7527E /* Cartfile.private */,
C96E60561DBC5F1B00484823 /* .codecov.yml */,
C931A5FC1BFF6F9D00706A1C /* .hound.yml */,
C931A5FE1BFF6FA600706A1C /* .swiftlint.yml */,
);
name = Tools;
sourceTree = "<group>";
};
C944A5661A7F772500E08B1E /* Configuration */ = {
isa = PBXGroup;
children = (
C944A5671A7F772500E08B1E /* Base */,
C944A5721A7F772600E08B1E /* iOS */,
);
name = Configuration;
path = Carthage/Checkouts/xcconfigs;
sourceTree = "<group>";
};
C944A5671A7F772500E08B1E /* Base */ = {
isa = PBXGroup;
children = (
C944A56A1A7F772600E08B1E /* Debug.xcconfig */,
C944A56B1A7F772600E08B1E /* Profile.xcconfig */,
C944A56C1A7F772600E08B1E /* Release.xcconfig */,
C944A56D1A7F772600E08B1E /* Test.xcconfig */,
);
path = Base;
sourceTree = "<group>";
};
C944A5721A7F772600E08B1E /* iOS */ = {
isa = PBXGroup;
children = (
C944A5731A7F772600E08B1E /* iOS-Application.xcconfig */,
C944A5751A7F772600E08B1E /* iOS-Framework.xcconfig */,
C944A5761A7F772600E08B1E /* iOS-StaticLibrary.xcconfig */,
);
path = iOS;
sourceTree = "<group>";
};
C9776E32185187E8003D53CB /* Docs */ = {
isa = PBXGroup;
children = (
C97CDF041BEE927200D64406 /* AUTHORS */,
C98C7F331C5E888100DB1478 /* CHANGELOG.md */,
C9D844361D4C59D600D5E343 /* CONDUCT.md */,
C9D844341D4C576B00D5E343 /* CONTRIBUTING.md */,
C9776E3318518801003D53CB /* LICENSE.txt */,
8B2B8AE1118BA49F00437315 /* README.md */,
);
name = Docs;
sourceTree = "<group>";
};
C97B68CB17D964D4005D1FE0 /* Authenticator */ = {
isa = PBXGroup;
children = (
080E96DDFE201D6D7F000001 /* Source */,
29B97317FDCFA39411CA2CEA /* Resources */,
);
path = Authenticator;
sourceTree = "<group>";
};
C97CDF2D1BEF10B300D64406 /* Scanner */ = {
isa = PBXGroup;
children = (
C9E3FB991E281CBC00EFA8BB /* TokenScanner.swift */,
C97CDF2B1BEEC90100D64406 /* QRScanner.swift */,
C99069D0180CBAC900BAEF53 /* TokenScannerViewController.swift */,
8B0028B411EB75920092DE18 /* ScannerOverlayView.swift */,
);
name = Scanner;
sourceTree = "<group>";
};
C981BBF21C5094A500A30CBA /* Root Component */ = {
isa = PBXGroup;
children = (
C93BD6221C167CD100FFFB8F /* Root.swift */,
C93BD6281C168EBF00FFFB8F /* RootViewModel.swift */,
C93BD6241C16841D00FFFB8F /* RootViewController.swift */,
);
name = "Root Component";
sourceTree = "<group>";
};
C98C1C4517D2EDF500A07D3F /* Cells */ = {
isa = PBXGroup;
children = (
C98B1EC91AB2CEC300C59E53 /* TokenRowModel.swift */,
C98B1ECB1AB3CF0700C59E53 /* TokenRowCell.swift */,
C968D1141CB4C639004ED7BB /* DisplayTime.swift */,
);
name = Cells;
sourceTree = "<group>";
};
C98C1C4917D2F03400A07D3F /* Token List */ = {
isa = PBXGroup;
children = (
C910ADC01BF0315A00C988F5 /* TokenList.swift */,
C9B7328E1C0A8AE60076F77E /* TokenListViewModel.swift */,
C92708AB19CFB0750033128B /* TokenListViewController.swift */,
C98C1C4517D2EDF500A07D3F /* Cells */,
C9D6C84B19075044004F0E08 /* ProgressRingView.swift */,
CC46C4701DB3007D00EB4605 /* SearchField.swift */,
);
name = "Token List";
sourceTree = "<group>";
};
C98C1C4E17D2F14500A07D3F /* Utility */ = {
isa = PBXGroup;
children = (
C93AD15119CD51BE007480E9 /* Colors.swift */,
C9A262D91E176A18004E6CEB /* Demo.swift */,
C9B7328C1C09495D0076F77E /* TableDiff.swift */,
C9BA64E91C0C4FBC00610C7C /* UITableView+ReusableCells.swift */,
C99112671E202B860006A6C0 /* UITableView+Updates.swift */,
);
name = Utility;
sourceTree = "<group>";
};
C9906A331812522100BAEF53 /* AuthenticatorTests */ = {
isa = PBXGroup;
children = (
C91CDAEE214EEA82006488F7 /* Info.plist */,
C983AB73197F98FC00975003 /* OTPAuthenticatorTests.m */,
C9A1C1CD1E6CDBFB009E65D6 /* RootTests.swift */,
CCC409751DB28BFE000A050D /* TableDiffTests.swift */,
CC46C4721DB3040300EB4605 /* TokenListTests.swift */,
CC471EEA1DC027A6006858AC /* TokenListViewControllerTest.swift */,
C9E3FB9B1E2860DD00EFA8BB /* TokenScannerTests.swift */,
CC471EEC1DC1377F006858AC /* MockTableView.swift */,
CCCD668A1E1C74B4005FE96E /* OneTimePasswordExtensions.swift */,
C99112691E2073710006A6C0 /* UITableViewUpdateTests.swift */,
C9C27227299946190067D723 /* ViewHierarchyHelpers.swift */,
);
path = AuthenticatorTests;
sourceTree = "<group>";
};
C9A1C1A71E501D5F009E65D6 /* Info */ = {
isa = PBXGroup;
children = (
C9E11E1021543E2A00C1AA53 /* Menu.swift */,
C9DE02E61ED2234D00D7E01C /* InfoList.swift */,
C9DE02E81ED227D600D7E01C /* InfoListViewController.swift */,
C9A1C1A81E501D8B009E65D6 /* Info.swift */,
C9A1C1A51E501CB2009E65D6 /* InfoViewController.swift */,
C9CDD1CE209662E100636056 /* DisplayOptions.swift */,
C9CDD1D02096635300636056 /* DisplayOptionsViewController.swift */,
);
name = Info;
sourceTree = "<group>";
};
C9A262CE1E170BD4004E6CEB /* AuthenticatorScreenshots */ = {
isa = PBXGroup;
children = (
C91CDAFD214EF044006488F7 /* Info.plist */,
C9A262CF1E170BD4004E6CEB /* AuthenticatorScreenshots.swift */,
C9A262D71E170E3A004E6CEB /* SnapshotHelper.swift */,
);
path = AuthenticatorScreenshots;
sourceTree = "<group>";
};
C9B0B94F1BC9158200BD5844 /* View Models */ = {
isa = PBXGroup;
children = (
C9CC09541BA91D1C008C54FE /* TableViewModel.swift */,
C9AAB0781B9113BF000CE547 /* TokenFormModels.swift */,
C99B85241BC9AB7100A6C75D /* BarButtonViewModel.swift */,
C9919CE11BA733FD006237C1 /* Section.swift */,
);
name = "View Models";
sourceTree = "<group>";
};
C9B0B9501BC9159300BD5844 /* Forms */ = {
isa = PBXGroup;
children = (
C9AAB07E1B917EC3000CE547 /* TokenEditForm.swift */,
C9919CDC1BA64EED006237C1 /* TokenEntryForm.swift */,
C9B0B94F1BC9158200BD5844 /* View Models */,
C9D6C8401906BD6F004F0E08 /* Views */,
);
name = Forms;
sourceTree = "<group>";
};
C9D6C8401906BD6F004F0E08 /* Views */ = {
isa = PBXGroup;
children = (
C9CC09501BA903B7008C54FE /* TokenFormViewController.swift */,
C9CC09521BA9133B008C54FE /* FocusCell.swift */,
C9D6C8451906CD54004F0E08 /* TextFieldRow.swift */,
C9D6C83E1906BD68004F0E08 /* SegmentedControlRow.swift */,
C9919CDF1BA721A1006237C1 /* ButtonHeaderView.swift */,
);
name = Views;
sourceTree = "<group>";
};
C9F75C921843CFFD00B6FA14 /* App Icon */ = {
isa = PBXGroup;
children = (
C959A63C190A69120042DEC0 /* Icon.svg */,
C959A63E190A69E60042DEC0 /* GenerateIcons.sh */,
);
name = "App Icon";
sourceTree = "<group>";
};
C9F7A8621C4F2E200082E5AE /* Data Store */ = {
isa = PBXGroup;
children = (
C9F7A8601C4D90B50082E5AE /* TokenStore.swift */,
C9A23F2D2159C28200615846 /* Settings.swift */,
);
name = "Data Store";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D6058900D05DD3D006BFB54 /* Authenticator */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Authenticator" */;
buildPhases = (
1D60588D0D05DD3D006BFB54 /* Resources */,
1D60588E0D05DD3D006BFB54 /* Sources */,
C910ADBF1BF00ABF00C988F5 /* Lint */,
1D60588F0D05DD3D006BFB54 /* Frameworks */,
C944A5531A7ECA5000E08B1E /* Copy Frameworks */,
);
buildRules = (
);
name = Authenticator;
productName = Authenticator;
productReference = 1D6058910D05DD3D006BFB54 /* Authenticator.app */;
productType = "com.apple.product-type.application";
};
C9906A2D1812522100BAEF53 /* AuthenticatorTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = C9906A401812522200BAEF53 /* Build configuration list for PBXNativeTarget "AuthenticatorTests" */;
buildPhases = (
C9906A2A1812522100BAEF53 /* Sources */,
C9906A2B1812522100BAEF53 /* Frameworks */,
C9906A2C1812522100BAEF53 /* Resources */,
);
buildRules = (
);
dependencies = (
C9906A3D1812522100BAEF53 /* PBXTargetDependency */,
);
name = AuthenticatorTests;
productName = AuthenticatorTests;
productReference = C9906A2E1812522100BAEF53 /* AuthenticatorTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
C9A262CC1E170BD4004E6CEB /* AuthenticatorScreenshots */ = {
isa = PBXNativeTarget;
buildConfigurationList = C9A262D61E170BD4004E6CEB /* Build configuration list for PBXNativeTarget "AuthenticatorScreenshots" */;
buildPhases = (
C9A262C91E170BD4004E6CEB /* Sources */,
C9A262DB1E177431004E6CEB /* Frameworks */,
);
buildRules = (
);
dependencies = (
C9A262D31E170BD4004E6CEB /* PBXTargetDependency */,
);
name = AuthenticatorScreenshots;
productName = AuthenticatorScreenshots;
productReference = C9A262CD1E170BD4004E6CEB /* AuthenticatorScreenshots.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
CLASSPREFIX = OTP;
LastSwiftMigration = 0700;
LastSwiftUpdateCheck = 1000;
LastUpgradeCheck = 2620;
ORGANIZATIONNAME = "Matt Rubin";
TargetAttributes = {
1D6058900D05DD3D006BFB54 = {
DevelopmentTeam = WD7ETSN9J9;
LastSwiftMigration = 1020;
ProvisioningStyle = Automatic;
};
C9906A2D1812522100BAEF53 = {
LastSwiftMigration = 1020;
TestTargetID = 1D6058900D05DD3D006BFB54;
};
C9A262CC1E170BD4004E6CEB = {
CreatedOnToolsVersion = 8.2.1;
LastSwiftMigration = 1020;
TestTargetID = 1D6058900D05DD3D006BFB54;
};
};
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Authenticator" */;
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
en,
Base,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
preferredProjectObjectVersion = 90;
projectDirPath = "";
projectRoot = "";
targets = (
1D6058900D05DD3D006BFB54 /* Authenticator */,
C9906A2D1812522100BAEF53 /* AuthenticatorTests */,
C9A262CC1E170BD4004E6CEB /* AuthenticatorScreenshots */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
1D60588D0D05DD3D006BFB54 /* Resources */ = {
isa = PBXResourcesBuildPhase;
files = (
C9A1C1AC1E5021A6009E65D6 /* BackupInfo.html in Resources */,
C9204A851E886A3500998D3E /* Acknowledgements.html in Resources */,
C9BEAE6019C67FD800533385 /* LaunchScreen.xib in Resources */,
C9C6CCA21842E331000100C2 /* Images.xcassets in Resources */,
);
};
C9906A2C1812522100BAEF53 /* Resources */ = {
isa = PBXResourcesBuildPhase;
files = (
);
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
C910ADBF1BF00ABF00C988F5 /* Lint */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
name = Lint;
shellPath = /bin/sh;
shellScript = (
"if command -v swiftlint >/dev/null 2>&1",
"then",
" swiftlint",
"else",
" echo \"warning: `swiftlint` command not found - See https://github.com/realm/SwiftLint#installation for installation instructions.\"",
"fi",
"",
);
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
1D60588E0D05DD3D006BFB54 /* Sources */ = {
isa = PBXSourcesBuildPhase;
files = (
C93AD15219CD51BE007480E9 /* Colors.swift in Sources */,
C9CDD1D12096635300636056 /* DisplayOptionsViewController.swift in Sources */,
C9CDD1CF209662E100636056 /* DisplayOptions.swift in Sources */,
C9DE02E71ED2234D00D7E01C /* InfoList.swift in Sources */,
C9A23F2E2159C28200615846 /* Settings.swift in Sources */,
C93BD6251C16841D00FFFB8F /* RootViewController.swift in Sources */,
C9919CE01BA721A1006237C1 /* ButtonHeaderView.swift in Sources */,
C9EB44901C52AE4500ACFA87 /* AppController.swift in Sources */,
C99112681E202B860006A6C0 /* UITableView+Updates.swift in Sources */,
C98B1ECA1AB2CEC300C59E53 /* TokenRowModel.swift in Sources */,
C9BA64EA1C0C4FBC00610C7C /* UITableView+ReusableCells.swift in Sources */,
CC46C4711DB3007D00EB4605 /* SearchField.swift in Sources */,
C9B7328F1C0A8AE60076F77E /* TokenListViewModel.swift in Sources */,
C99B85251BC9AB7100A6C75D /* BarButtonViewModel.swift in Sources */,
C9AAB0791B9113BF000CE547 /* TokenFormModels.swift in Sources */,
1D3623260D0F684500981E51 /* OTPAppDelegate.swift in Sources */,
C9919CE21BA733FD006237C1 /* Section.swift in Sources */,
C9D6C8461906CD54004F0E08 /* TextFieldRow.swift in Sources */,
C9B7328D1C09495D0076F77E /* TableDiff.swift in Sources */,
C93BD6231C167CD100FFFB8F /* Root.swift in Sources */,
C97CDF2C1BEEC90100D64406 /* QRScanner.swift in Sources */,
C9AAB07F1B917EC3000CE547 /* TokenEditForm.swift in Sources */,
C9D6C84C19075044004F0E08 /* ProgressRingView.swift in Sources */,
C9A1C1A91E501D8B009E65D6 /* Info.swift in Sources */,
C9CC09531BA9133B008C54FE /* FocusCell.swift in Sources */,
C99069D1180CBAC900BAEF53 /* TokenScannerViewController.swift in Sources */,
C9EB448E1C52A74200ACFA87 /* Component.swift in Sources */,
C9A1C1A61E501CB2009E65D6 /* InfoViewController.swift in Sources */,
C9D6C83F1906BD68004F0E08 /* SegmentedControlRow.swift in Sources */,
C968D1151CB4C639004ED7BB /* DisplayTime.swift in Sources */,
8B0028B511EB75920092DE18 /* ScannerOverlayView.swift in Sources */,
C9E11E1121543E2A00C1AA53 /* Menu.swift in Sources */,
C9CC09551BA91D1C008C54FE /* TableViewModel.swift in Sources */,
C92708AC19CFB0750033128B /* TokenListViewController.swift in Sources */,
C9A262DA1E176A18004E6CEB /* Demo.swift in Sources */,
C9DE02E91ED227D600D7E01C /* InfoListViewController.swift in Sources */,
C9E3FB9A1E281CBC00EFA8BB /* TokenScanner.swift in Sources */,
C93BD6291C168EBF00FFFB8F /* RootViewModel.swift in Sources */,
C9F7A8611C4D90B50082E5AE /* TokenStore.swift in Sources */,
C9CC09511BA903B7008C54FE /* TokenFormViewController.swift in Sources */,
C98B1ECC1AB3CF0700C59E53 /* TokenRowCell.swift in Sources */,
C910ADC11BF0315A00C988F5 /* TokenList.swift in Sources */,
C9919CDD1BA64EED006237C1 /* TokenEntryForm.swift in Sources */,
);
};
C9906A2A1812522100BAEF53 /* Sources */ = {
isa = PBXSourcesBuildPhase;
files = (
C9C27228299946190067D723 /* ViewHierarchyHelpers.swift in Sources */,
C9E3FB9C1E2860DD00EFA8BB /* TokenScannerTests.swift in Sources */,
CCCD668B1E1C74B4005FE96E /* OneTimePasswordExtensions.swift in Sources */,
C991126A1E2073710006A6C0 /* UITableViewUpdateTests.swift in Sources */,
CC471EEB1DC027A6006858AC /* TokenListViewControllerTest.swift in Sources */,
C983AB74197F98FC00975003 /* OTPAuthenticatorTests.m in Sources */,
CCC409761DB28BFE000A050D /* TableDiffTests.swift in Sources */,
CC471EED1DC1377F006858AC /* MockTableView.swift in Sources */,
C9A1C1CE1E6CDBFB009E65D6 /* RootTests.swift in Sources */,
CC46C4731DB3040300EB4605 /* TokenListTests.swift in Sources */,
);
};
C9A262C91E170BD4004E6CEB /* Sources */ = {
isa = PBXSourcesBuildPhase;
files = (
C9A262D01E170BD4004E6CEB /* AuthenticatorScreenshots.swift in Sources */,
C9A262D81E170E3A004E6CEB /* SnapshotHelper.swift in Sources */,
);
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
C9906A3D1812522100BAEF53 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 1D6058900D05DD3D006BFB54 /* Authenticator */;
targetProxy = C9906A3C1812522100BAEF53 /* PBXContainerItemProxy */;
};
C9A262D31E170BD4004E6CEB /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 1D6058900D05DD3D006BFB54 /* Authenticator */;
targetProxy = C9A262D21E170BD4004E6CEB /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
1D6058940D05DD3E006BFB54 /* Debug configuration for PBXNativeTarget "Authenticator" */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C944A5731A7F772600E08B1E /* iOS-Application.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
BUNDLE_DISPLAY_NAME = "${PRODUCT_NAME} ∆";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = WD7ETSN9J9;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
INFOPLIST_FILE = Authenticator/Resources/Info.plist;
PRODUCT_BUNDLE_IDENTIFIER = me.mattrubin.authenticator.dev;
PRODUCT_NAME = Authenticator;
SWIFT_TREAT_WARNINGS_AS_ERRORS = NO;
TARGETED_DEVICE_FAMILY = 1;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
1D6058950D05DD3E006BFB54 /* Release configuration for PBXNativeTarget "Authenticator" */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C944A5731A7F772600E08B1E /* iOS-Application.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
BUNDLE_DISPLAY_NAME = "${PRODUCT_NAME}";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = WD7ETSN9J9;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
INFOPLIST_FILE = Authenticator/Resources/Info.plist;
PRODUCT_BUNDLE_IDENTIFIER = me.mattrubin.authenticator;
PRODUCT_NAME = Authenticator;
SWIFT_TREAT_WARNINGS_AS_ERRORS = NO;
TARGETED_DEVICE_FAMILY = 1;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug configuration for PBXProject "Authenticator" */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C944A56A1A7F772600E08B1E /* Debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_MODULES_AUTOLINK = YES;
CURRENT_PROJECT_VERSION = 0;
DEAD_CODE_STRIPPING = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(BUILT_PRODUCTS_DIR)",
);
GCC_DYNAMIC_NO_PIC = NO;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
MARKETING_VERSION = 2.1.3;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_VERSION = 5.0;
};
name = Debug;
};
C01FCF5008A954540054247B /* Release configuration for PBXProject "Authenticator" */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C944A56C1A7F772600E08B1E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_MODULES_AUTOLINK = YES;
CURRENT_PROJECT_VERSION = 0;
DEAD_CODE_STRIPPING = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(BUILT_PRODUCTS_DIR)",
);
GCC_DYNAMIC_NO_PIC = NO;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
MARKETING_VERSION = 2.1.3;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_VERSION = 5.0;
};
name = Release;
};
C9906A3E1812522100BAEF53 /* Debug configuration for PBXNativeTarget "AuthenticatorTests" */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C944A5731A7F772600E08B1E /* iOS-Application.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Authenticator.app/Authenticator";
DEAD_CODE_STRIPPING = YES;
INFOPLIST_FILE = AuthenticatorTests/Info.plist;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUNDLE_LOADER)";
};
name = Debug;
};
C9906A3F1812522100BAEF53 /* Release configuration for PBXNativeTarget "AuthenticatorTests" */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C944A5731A7F772600E08B1E /* iOS-Application.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Authenticator.app/Authenticator";
DEAD_CODE_STRIPPING = YES;
INFOPLIST_FILE = AuthenticatorTests/Info.plist;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUNDLE_LOADER)";
};
name = Release;
};
C9A262D41E170BD4004E6CEB /* Debug configuration for PBXNativeTarget "AuthenticatorScreenshots" */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C944A5731A7F772600E08B1E /* iOS-Application.xcconfig */;
buildSettings = {
DEAD_CODE_STRIPPING = YES;
INFOPLIST_FILE = AuthenticatorScreenshots/Info.plist;
PRODUCT_BUNDLE_IDENTIFIER = me.mattrubin.authenticator.screenshots;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_TARGET_NAME = Authenticator;
};
name = Debug;
};
C9A262D51E170BD4004E6CEB /* Release configuration for PBXNativeTarget "AuthenticatorScreenshots" */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C944A5731A7F772600E08B1E /* iOS-Application.xcconfig */;
buildSettings = {
DEAD_CODE_STRIPPING = YES;
INFOPLIST_FILE = AuthenticatorScreenshots/Info.plist;
PRODUCT_BUNDLE_IDENTIFIER = me.mattrubin.authenticator.screenshots;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_TARGET_NAME = Authenticator;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Authenticator" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D6058940D05DD3E006BFB54 /* Debug configuration for PBXNativeTarget "Authenticator" */,
1D6058950D05DD3E006BFB54 /* Release configuration for PBXNativeTarget "Authenticator" */,
);
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Authenticator" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug configuration for PBXProject "Authenticator" */,
C01FCF5008A954540054247B /* Release configuration for PBXProject "Authenticator" */,
);
defaultConfigurationName = Release;
};
C9906A401812522200BAEF53 /* Build configuration list for PBXNativeTarget "AuthenticatorTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C9906A3E1812522100BAEF53 /* Debug configuration for PBXNativeTarget "AuthenticatorTests" */,
C9906A3F1812522100BAEF53 /* Release configuration for PBXNativeTarget "AuthenticatorTests" */,
);
defaultConfigurationName = Release;
};
C9A262D61E170BD4004E6CEB /* Build configuration list for PBXNativeTarget "AuthenticatorScreenshots" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C9A262D41E170BD4004E6CEB /* Debug configuration for PBXNativeTarget "AuthenticatorScreenshots" */,
C9A262D51E170BD4004E6CEB /* Release configuration for PBXNativeTarget "AuthenticatorScreenshots" */,
);
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}