diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard b/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard index db708d7..d2f0a7a 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard +++ b/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard @@ -51,21 +51,90 @@ - + + + + + + + + + + + + + + +
+
+
+
+ +
+ - + + + + + + + + + + + + + + + + + + + + + - + diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountCell.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountCell.swift new file mode 100644 index 0000000..8bba624 --- /dev/null +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountCell.swift @@ -0,0 +1,14 @@ +// +// Account.swift +// SynchronyFinancial WatchKit Extension +// +// Created by Monday on 2019/02/13. +// Copyright © 2019 Alan Maynard. All rights reserved. +// + +import Foundation +import WatchKit + +class AccountCell: NSObject { + @IBOutlet weak var accountName: WKInterfaceLabel! +} diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountDetailsInterfaceController.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountDetailsInterfaceController.swift new file mode 100644 index 0000000..cacf7c1 --- /dev/null +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountDetailsInterfaceController.swift @@ -0,0 +1,57 @@ +// +// AccountDetailsInterfaceController.swift +// SynchronyFinancial WatchKit Extension +// +// Created by Alan Maynard on 3/6/19. +// Copyright © 2019 Alan Maynard. All rights reserved. +// + +import WatchKit +import Foundation + +class AccountDetailsInterfaceController: WKInterfaceController { + var selectedAccount: Account? + + @IBOutlet weak var balanceLabel: WKInterfaceLabel! + @IBOutlet weak var availableFundsLabel: WKInterfaceLabel! + @IBOutlet weak var accountNameLabel: WKInterfaceLabel! + @IBOutlet weak var nextPaymentDueLabel: WKInterfaceLabel! + + override func awake(withContext context: Any?) { + super.awake(withContext: context) + + guard let data = context as? [String: Account] else { + NSLog("Error receiving context containing selected account in AccountDetailInterfaceController") + return + } + + selectedAccount = data["acct"] + configureForAccount() + } + + override func willActivate() { + // This method is called when watch view controller is about to be visible to user + super.willActivate() + } + + override func didDeactivate() { + // This method is called when watch view controller is no longer visible + super.didDeactivate() + } + + private func configureForAccount() { + guard selectedAccount != nil, let acct = selectedAccount else { + NSLog("Error configuring AccountDetails. selectedAccount is nil") + return + } + + let balanceFormatted = String(format: "%.2f", acct.balance) + let availableFormatted = String(format: "%.2f", acct.limit - acct.balance) + let date = DateFormatter.localizedString(from: acct.paymentDueDate, dateStyle: .medium, timeStyle: .none) + + accountNameLabel.setText(acct.accountNumber) + balanceLabel.setText("Balance: $\(balanceFormatted)") + availableFundsLabel.setText("Available: $\(availableFormatted)") + nextPaymentDueLabel.setText(date) + } +} diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountTableInterfaceController.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountTableInterfaceController.swift new file mode 100644 index 0000000..ddbffd5 --- /dev/null +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountTableInterfaceController.swift @@ -0,0 +1,60 @@ +// +// AccountTableInterfaceController.swift +// SynchronyFinancial WatchKit Extension +// +// Created by Monday on 2019/02/13. +// Copyright © 2019 Alan Maynard. All rights reserved. +// + +import WatchKit +import Foundation + +class AccountTableInterfaceController: WKInterfaceController { + var accounts: [Account] = [] + var acctDict: [String: Account] = [:] + + @IBOutlet weak var accountTable: WKInterfaceTable! + override func awake(withContext context: Any?) { + super.awake(withContext: context) + + populateDemoData() + configureRows() + } + + override func willActivate() { + // This method is called when watch view controller is about to be visible to user + super.willActivate() + } + + override func didDeactivate() { + // This method is called when watch view controller is no longer visible + super.didDeactivate() + } + + //swiftlint:disable:next line_length + override func contextForSegue(withIdentifier segueIdentifier: String, in table: WKInterfaceTable, rowIndex: Int) -> Any? { + if segueIdentifier == "showAccountDetails" { + acctDict.updateValue(accounts[rowIndex], forKey: "acct") + return acctDict + } + return nil + } + + private func configureRows() { + accountTable.setNumberOfRows(accounts.count, withRowType: "account") + + for index in 0..161" + }, { "idiom" : "watch", "scale" : "2x", "screen-width" : ">145" + }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">183" } ], "info" : { diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json index f84499b..aefef29 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json @@ -5,10 +5,20 @@ "scale" : "2x", "screen-width" : "<=145" }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">161" + }, { "idiom" : "watch", "scale" : "2x", "screen-width" : ">145" + }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">183" } ], "info" : { diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/Contents.json b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/Contents.json index f84499b..aefef29 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/Contents.json +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/Contents.json @@ -5,10 +5,20 @@ "scale" : "2x", "screen-width" : "<=145" }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">161" + }, { "idiom" : "watch", "scale" : "2x", "screen-width" : ">145" + }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">183" } ], "info" : { diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json index f84499b..aefef29 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json @@ -5,10 +5,20 @@ "scale" : "2x", "screen-width" : "<=145" }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">161" + }, { "idiom" : "watch", "scale" : "2x", "screen-width" : ">145" + }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">183" } ], "info" : { diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json index f84499b..aefef29 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json @@ -5,10 +5,20 @@ "scale" : "2x", "screen-width" : "<=145" }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">161" + }, { "idiom" : "watch", "scale" : "2x", "screen-width" : ">145" + }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">183" } ], "info" : { diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Large Rectangular.imageset/Contents.json b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Large Rectangular.imageset/Contents.json index f84499b..aefef29 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Large Rectangular.imageset/Contents.json +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Graphic Large Rectangular.imageset/Contents.json @@ -5,10 +5,20 @@ "scale" : "2x", "screen-width" : "<=145" }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">161" + }, { "idiom" : "watch", "scale" : "2x", "screen-width" : ">145" + }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">183" } ], "info" : { diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json index f84499b..aefef29 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json @@ -5,10 +5,20 @@ "scale" : "2x", "screen-width" : "<=145" }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">161" + }, { "idiom" : "watch", "scale" : "2x", "screen-width" : ">145" + }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">183" } ], "info" : { diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/Contents.json b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/Contents.json index f84499b..aefef29 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/Contents.json +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/Contents.json @@ -5,10 +5,20 @@ "scale" : "2x", "screen-width" : "<=145" }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">161" + }, { "idiom" : "watch", "scale" : "2x", "screen-width" : ">145" + }, + { + "idiom" : "watch", + "scale" : "2x", + "screen-width" : ">183" } ], "info" : { diff --git a/SynchronyFinancial/SynchronyFinancial.xcodeproj/project.pbxproj b/SynchronyFinancial/SynchronyFinancial.xcodeproj/project.pbxproj index 9d5f11e..4cfb02f 100644 --- a/SynchronyFinancial/SynchronyFinancial.xcodeproj/project.pbxproj +++ b/SynchronyFinancial/SynchronyFinancial.xcodeproj/project.pbxproj @@ -8,18 +8,23 @@ /* Begin PBXBuildFile section */ 281283568A34D3C5D9C7B383 /* libPods-SynchronyFinancial WatchKit Extension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CAA6D46F907ADAABF49FD409 /* libPods-SynchronyFinancial WatchKit Extension.a */; }; - 6717460A21F8FCBF00696468 /* Transaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6717460921F8FCBE00696468 /* Transaction.swift */; }; - 6717460C21F8FCC100696468 /* Account.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6717460B21F8FCC100696468 /* Account.swift */; }; - 6717460D21F8FCD800696468 /* Account.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6717460B21F8FCC100696468 /* Account.swift */; }; - 6717460E21F8FCDB00696468 /* Transaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6717460921F8FCBE00696468 /* Transaction.swift */; }; + 48DA0058221D12E70081A500 /* AccountCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48DA0057221D12E70081A500 /* AccountCell.swift */; }; + 48F243072214C98600B9C894 /* AccountTableInterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F243062214C98600B9C894 /* AccountTableInterfaceController.swift */; }; + 48F243082214CA9600B9C894 /* AccountTableInterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F243062214C98600B9C894 /* AccountTableInterfaceController.swift */; }; + 48F2430A2214CBA200B9C894 /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 67BAC27C219E254800713FEF /* Interface.storyboard */; }; + 48F2430D2214CBF700B9C894 /* Account.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F2430B2214CBF700B9C894 /* Account.swift */; }; + 48F2430E2214CBF700B9C894 /* Transaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F2430C2214CBF700B9C894 /* Transaction.swift */; }; + 48F2430F2214CC2200B9C894 /* Transaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F2430C2214CBF700B9C894 /* Transaction.swift */; }; 673F396E21A644570051469E /* MainMenuInterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 673F396C21A644460051469E /* MainMenuInterfaceController.swift */; }; 673F397021A652A00051469E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 673F396F21A652A00051469E /* Assets.xcassets */; }; + 678C38842230950100FEAAF6 /* AccountDetailsInterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 678C38832230950100FEAAF6 /* AccountDetailsInterfaceController.swift */; }; + 678C3885223098C400FEAAF6 /* Account.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F2430B2214CBF700B9C894 /* Account.swift */; }; + 678C388622309F7D00FEAAF6 /* AccountCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48DA0057221D12E70081A500 /* AccountCell.swift */; }; 67BAC269219E254700713FEF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67BAC268219E254700713FEF /* AppDelegate.swift */; }; 67BAC26E219E254700713FEF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 67BAC26C219E254700713FEF /* Main.storyboard */; }; 67BAC270219E254800713FEF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 67BAC26F219E254800713FEF /* Assets.xcassets */; }; 67BAC273219E254800713FEF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 67BAC271219E254800713FEF /* LaunchScreen.storyboard */; }; 67BAC278219E254800713FEF /* SynchronyFinancial WatchKit App.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = 67BAC277219E254800713FEF /* SynchronyFinancial WatchKit App.app */; }; - 67BAC27E219E254800713FEF /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 67BAC27C219E254800713FEF /* Interface.storyboard */; }; 67BAC287219E254900713FEF /* SynchronyFinancial WatchKit Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 67BAC286219E254900713FEF /* SynchronyFinancial WatchKit Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 67BAC28E219E254900713FEF /* ExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67BAC28D219E254900713FEF /* ExtensionDelegate.swift */; }; 67BAC292219E254900713FEF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 67BAC291219E254900713FEF /* Assets.xcassets */; }; @@ -73,11 +78,14 @@ 1BEF4B8BF190D117CA6104E5 /* Pods-SynchronyFinancial WatchKit App.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SynchronyFinancial WatchKit App.release.xcconfig"; path = "Pods/Target Support Files/Pods-SynchronyFinancial WatchKit App/Pods-SynchronyFinancial WatchKit App.release.xcconfig"; sourceTree = ""; }; 250BDAF6AD4E1CCA82995E30 /* Pods-SynchronyFinancial WatchKit Extension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SynchronyFinancial WatchKit Extension.release.xcconfig"; path = "Pods/Target Support Files/Pods-SynchronyFinancial WatchKit Extension/Pods-SynchronyFinancial WatchKit Extension.release.xcconfig"; sourceTree = ""; }; 396A16E056D05DEC937A07DA /* Pods-SynchronyFinancial.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SynchronyFinancial.release.xcconfig"; path = "Pods/Target Support Files/Pods-SynchronyFinancial/Pods-SynchronyFinancial.release.xcconfig"; sourceTree = ""; }; + 48DA0057221D12E70081A500 /* AccountCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountCell.swift; sourceTree = ""; }; + 48F243062214C98600B9C894 /* AccountTableInterfaceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountTableInterfaceController.swift; sourceTree = ""; }; + 48F2430B2214CBF700B9C894 /* Account.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Account.swift; sourceTree = ""; }; + 48F2430C2214CBF700B9C894 /* Transaction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Transaction.swift; sourceTree = ""; }; 4EA10823B2E5A7A4FEF31740 /* libPods-SynchronyFinancial WatchKit App.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SynchronyFinancial WatchKit App.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6717460921F8FCBE00696468 /* Transaction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Transaction.swift; sourceTree = ""; }; - 6717460B21F8FCC100696468 /* Account.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Account.swift; sourceTree = ""; }; 673F396C21A644460051469E /* MainMenuInterfaceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenuInterfaceController.swift; sourceTree = ""; }; 673F396F21A652A00051469E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 678C38832230950100FEAAF6 /* AccountDetailsInterfaceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountDetailsInterfaceController.swift; sourceTree = ""; }; 67BAC265219E254700713FEF /* SynchronyFinancial.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SynchronyFinancial.app; sourceTree = BUILT_PRODUCTS_DIR; }; 67BAC268219E254700713FEF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 67BAC26D219E254700713FEF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; @@ -151,8 +159,8 @@ 67BAC267219E254700713FEF /* SynchronyFinancial */ = { isa = PBXGroup; children = ( - 6717460B21F8FCC100696468 /* Account.swift */, - 6717460921F8FCBE00696468 /* Transaction.swift */, + 48F2430B2214CBF700B9C894 /* Account.swift */, + 48F2430C2214CBF700B9C894 /* Transaction.swift */, 67BAC268219E254700713FEF /* AppDelegate.swift */, 67BAC26C219E254700713FEF /* Main.storyboard */, 67BAC26F219E254800713FEF /* Assets.xcassets */, @@ -177,7 +185,10 @@ children = ( 673F396C21A644460051469E /* MainMenuInterfaceController.swift */, 67BAC28D219E254900713FEF /* ExtensionDelegate.swift */, + 48F243062214C98600B9C894 /* AccountTableInterfaceController.swift */, + 678C38832230950100FEAAF6 /* AccountDetailsInterfaceController.swift */, 67BAC291219E254900713FEF /* Assets.xcassets */, + 48DA0057221D12E70081A500 /* AccountCell.swift */, 67BAC293219E254900713FEF /* Info.plist */, ); path = "SynchronyFinancial WatchKit Extension"; @@ -323,8 +334,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 48F2430A2214CBA200B9C894 /* Interface.storyboard in Resources */, 673F397021A652A00051469E /* Assets.xcassets in Resources */, - 67BAC27E219E254800713FEF /* Interface.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -429,9 +440,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6717460A21F8FCBF00696468 /* Transaction.swift in Sources */, + 48F2430D2214CBF700B9C894 /* Account.swift in Sources */, + 678C388622309F7D00FEAAF6 /* AccountCell.swift in Sources */, + 48F2430E2214CBF700B9C894 /* Transaction.swift in Sources */, 67BAC269219E254700713FEF /* AppDelegate.swift in Sources */, - 6717460C21F8FCC100696468 /* Account.swift in Sources */, + 48F243082214CA9600B9C894 /* AccountTableInterfaceController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -439,10 +452,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 678C3885223098C400FEAAF6 /* Account.swift in Sources */, 67BAC28E219E254900713FEF /* ExtensionDelegate.swift in Sources */, + 678C38842230950100FEAAF6 /* AccountDetailsInterfaceController.swift in Sources */, 673F396E21A644570051469E /* MainMenuInterfaceController.swift in Sources */, - 6717460E21F8FCDB00696468 /* Transaction.swift in Sources */, - 6717460D21F8FCD800696468 /* Account.swift in Sources */, + 48F243072214C98600B9C894 /* AccountTableInterfaceController.swift in Sources */, + 48F2430F2214CC2200B9C894 /* Transaction.swift in Sources */, + 48DA0058221D12E70081A500 /* AccountCell.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };