commit 980b7e0ab8c573e26a0c3bc6fd7bf654485fb976 from: Oliver Lowe date: Tue Jul 05 05:33:43 2022 UTC apple: Pull-to-refresh aliases from main view Finally! This change implements the mailmux API client in the main view by letting users do the idiomatic 'swipe down to get changes from server' thing. commit - 2fa019fcdb07a810253f02630b7d43244b8e6ae3 commit + 980b7e0ab8c573e26a0c3bc6fd7bf654485fb976 blob - 1d7727f6836df33996b61fa8eec8ac9602905853 blob + 91e9feb4cbaeba2fd1858dad3d4c9e4ac291c928 --- apple/Shared/Alias.swift +++ apple/Shared/Alias.swift @@ -2,7 +2,7 @@ import Foundation import SwiftUI struct Alias: Hashable, Codable, Identifiable { - var id: String + var id: String var recipient: String var destination: String var expiry: Date @@ -10,14 +10,20 @@ struct Alias: Hashable, Codable, Identifiable { } struct fAlias: Hashable, Codable { - var Recipient: String - var Destination: String - var Expiry: String - var Note: String + var Recipient: String + var Destination: String + var Expiry: String + var Note: String } +func parseRFC3339(s: String) -> Date { + let rfc3339 = DateFormatter() + rfc3339.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ" + return rfc3339.date(from: s) ?? Date(timeIntervalSince1970: 0) +} + func createAlias(note: String, expiry: Date) -> Void { - print("TODO tried to create an alias") + print("TODO tried to create an alias") } func deleteAlias(recipient: String) -> Void { blob - 2e4904004e9ef2d86622b33d5ace5951419d6e77 blob + 74fb80ed4d7f7d140c0a65d5b53f4996f99f8475 --- apple/Shared/AliasData.swift +++ apple/Shared/AliasData.swift @@ -21,14 +21,12 @@ func load(_ filename: String) -> [Alias] { var faliases: [fAlias] var aliases = [Alias]() faliases = try decoder.decode([fAlias].self, from: data) - let rfc3339 = DateFormatter() - rfc3339.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ" for fa in faliases { let a = Alias( id: fa.Recipient, recipient: fa.Recipient, destination: fa.Destination, - expiry: rfc3339.date(from: fa.Expiry) ?? Date(timeIntervalSince1970: 0), + expiry: parseRFC3339(s: fa.Expiry), note: fa.Note ) aliases.append(a) blob - 9eaba13a4141a66a8956d2c31da261e80e4e8b95 blob + 3632c9650da248b23b71279b22d97097b41c72f1 --- apple/Shared/AliasDetail.swift +++ apple/Shared/AliasDetail.swift @@ -1,17 +1,16 @@ import SwiftUI struct AliasDetail: View { - var alias: Alias - - var body: some View { - List { - AliasAttribute(key: "Recipient", value: alias.recipient) - AliasAttribute(key: "Destination", value: alias.destination) - AliasAttribute(key: "Expiry", value: alias.expiry.description) - Section(header: Text("Note")) { - Text(alias.note) - } + var alias: Alias + var body: some View { + List { + AliasAttribute(key: "Recipient", value: alias.recipient + "@mailmux.net", selectable: true) + AliasAttribute(key: "Destination", value: alias.destination) + AliasAttribute(key: "Expiry", value: alias.expiry.description) + Section(header: Text("Note")) { + Text(alias.note) } + } .listStyle(.automatic) .navigationTitle(alias.recipient) .toolbar { @@ -20,20 +19,33 @@ struct AliasDetail: View { deleteAlias(recipient: alias.recipient) }) { Label("Delete", systemImage: "trash").foregroundColor(.red) - } } } } + } } struct AliasAttribute: View { var key: String var value: String + var selectable: Bool = false var body: some View { HStack { Text(key).bold() Spacer() - Text(value) + if selectable { + Text(value).textSelection(.enabled) + } else { + Text(value) + } } } } +struct AliasDetail_Previews: PreviewProvider { + static var previews: some View { + Group { + AliasDetail(alias: aliases[0]) + AliasDetail(alias: aliases[1]) + } + } +} blob - 6e254c565bfa91f843fd20f222472df2245483d9 blob + b5c1043d0818fe8e6bd5f95920f50fc0c9d8b97a --- apple/Shared/mailmuxApp.swift +++ apple/Shared/mailmuxApp.swift @@ -9,7 +9,7 @@ struct mailmuxApp: App { .commands { CommandGroup(after: CommandGroupPlacement.newItem) { Button("New Alias...", action: { - print("clicked new from menu") + print("TODO new alias command") }) } } @@ -28,53 +28,85 @@ struct ContentView: View { } struct AliasList: View { - var aliases: [Alias] - @State private var createPresented: Bool = false - var body: some View { - NavigationView { - List(aliases) { alias in - NavigationLink { - AliasDetail(alias: alias) - } - label: { - AliasRow(alias: alias) - } - } - .navigationTitle("Aliases") - .sheet(isPresented: $createPresented) { - Create(presented: $createPresented) - } - .toolbar { - ToolbarItem(placement: .primaryAction) { - Button(action: { - createPresented = true - }) { - Label("Create", systemImage: "plus") - } - } - } - } - } + @State var aliases: [Alias] + @State private var createPresented: Bool = false + @State private var settingsPresented: Bool = false + @State private var didError: Bool = false + var body: some View { + NavigationView { + List(aliases) { alias in + NavigationLink { + AliasDetail(alias: alias) + } label: { + AliasRow(alias: alias) + } + } + .refreshable { + do { + aliases = try await getAliases() + } catch { + print("refresh aliases: \(error)") + didError = true + } + } + .navigationTitle("Aliases") + .sheet(isPresented: $createPresented) { + Create(presented: $createPresented) + } + #if !os(macOS) + .sheet(isPresented: $settingsPresented) { + iSettings(presented: $settingsPresented) + } + #endif + .alert("Error", isPresented: $didError) { + } message: { + Text("Sumting wong!") + } + .toolbar { + ToolbarItem(placement: .automatic) { + Button(action: { + createPresented = true + }) { + Label("Create", systemImage: "plus") + } + } + ToolbarItem(placement: .navigation) { + Button(action: { + settingsPresented = true + }) { + Label("Settings", systemImage: "gear") + } + } + } + } + } } struct CredentialsForm: View { @AppStorage("username") private var username = "" @AppStorage("password") private var password = "" - var body: some View { Form { - TextField(text: $username, prompt: Text("me@example.com")) { - Text("Username:") + Section(header: Text("Account")) { + TextField(text: $username, prompt: Text("me@example.com")) { + Text("Username:").bold() + } + SecureField(text: $password, prompt: Text("Required")) { + Text("Password:").bold() + } } - SecureField(text: $password, prompt: Text("Required")) { - Text("Password:") + Button(action: { + setCredentials(user: username, password: password) + }) { + Text("Sign in") } } } } -struct ContentView_Previews: PreviewProvider { - static var previews: some View { - ContentView() - } + +struct AliasList_Previews: PreviewProvider { + static var previews: some View { + AliasList(aliases: aliases) + } } blob - 801d4508191112976ad8efbcbc377429c0926e8c blob + c611cc2258f0d1a4eb8a067f8aa6e0eb7f8c583e --- apple/iOS/Create.swift +++ apple/iOS/Create.swift @@ -1,33 +1,32 @@ import SwiftUI struct Create: View { - @Binding var presented: Bool - @State private var note = "" - @State private var expiry = Date() - var body: some View { - NavigationView { - Form { - DatePicker("Expiry:", selection: $expiry, in: PartialRangeFrom(Date())) - Section(header: Text("Note")) { - TextEditor(text: $note) - } - } - .toolbar { - ToolbarItem(placement: .confirmationAction) { - Button("Create", action: { - createAlias(note: note, expiry: expiry) - presented = false - }) - .keyboardShortcut(.return) - } - ToolbarItem(placement: .cancellationAction) { - Button("Cancel", action: { - presented = false - }) - .keyboardShortcut(.cancelAction) - } - } - - } - } + @Binding var presented: Bool + @State private var note = "" + @State private var expiry = Date() + var body: some View { + NavigationView { + Form { + DatePicker("Expiry:", selection: $expiry, in: PartialRangeFrom(Date())) + Section(header: Text("Note")) { + TextEditor(text: $note) + } + } + .toolbar { + ToolbarItem(placement: .confirmationAction) { + Button("Create", action: { + createAlias(note: note, expiry: expiry) + presented = false + }) + .keyboardShortcut(.return) + } + ToolbarItem(placement: .cancellationAction) { + Button("Cancel", action: { + presented = false + }) + .keyboardShortcut(.cancelAction) + } + } + } + } } blob - 983e6002d278b14e1d2d88402e885aa98ebdb151 blob + 097b7d37e87391a913a330ac0e27c6fa4f56d14a --- apple/macOS/Preferences.swift +++ apple/macOS/Preferences.swift @@ -2,12 +2,12 @@ import SwiftUI struct Preferences: View { var body: some View { - Spacer() - HStack { - Spacer() - CredentialsForm() - Spacer() - } - Spacer() + CredentialsForm() } } + +struct Preferences_Previews: PreviewProvider { + static var previews: some View { + Preferences() + } +} blob - a3f6560f003e204b3f28e611394adc841c641f48 blob + 26fdb94e6e24f1d8ef95816bdf90bb852204db0c --- apple/mailmux.xcodeproj/project.pbxproj +++ apple/mailmux.xcodeproj/project.pbxproj @@ -7,27 +7,25 @@ objects = { /* Begin PBXBuildFile section */ - 405422A8282E36E700B778CF /* Tests_iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422A7282E36E700B778CF /* Tests_iOS.swift */; }; - 405422AA282E36E700B778CF /* Tests_iOSLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422A9282E36E700B778CF /* Tests_iOSLaunchTests.swift */; }; - 405422B4282E36E700B778CF /* Tests_macOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422B3282E36E700B778CF /* Tests_macOS.swift */; }; - 405422B6282E36E700B778CF /* Tests_macOSLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422B5282E36E700B778CF /* Tests_macOSLaunchTests.swift */; }; 405422B8282E36E700B778CF /* mailmuxApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4054228F282E36E400B778CF /* mailmuxApp.swift */; }; 405422BB282E36E700B778CF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 40542291282E36E700B778CF /* Assets.xcassets */; }; 405422BC282E36E700B778CF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 40542291282E36E700B778CF /* Assets.xcassets */; }; - 405422D4282E38A100B778CF /* AliasList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422CB282E38A100B778CF /* AliasList.swift */; }; 405422D5282E38A100B778CF /* aliases.json in Resources */ = {isa = PBXBuildFile; fileRef = 405422CC282E38A100B778CF /* aliases.json */; }; - 405422D8282E38A100B778CF /* AliasData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422CF282E38A100B778CF /* AliasData.swift */; }; 405422DA282E38A100B778CF /* Alias.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422D1282E38A100B778CF /* Alias.swift */; }; 405422DC282E38A100B778CF /* AliasRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422D3282E38A100B778CF /* AliasRow.swift */; }; + 4065B9132872DB4000D3C169 /* Client.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4065B9122872DB4000D3C169 /* Client.swift */; }; + 4065B9142872DB4000D3C169 /* Client.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4065B9122872DB4000D3C169 /* Client.swift */; }; 4068C10D282E730300455B04 /* mailmuxApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4054228F282E36E400B778CF /* mailmuxApp.swift */; }; 4068C10E282E730600455B04 /* Alias.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422D1282E38A100B778CF /* Alias.swift */; }; - 4068C10F282E730900455B04 /* AliasData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422CF282E38A100B778CF /* AliasData.swift */; }; 4068C110282E730C00455B04 /* AliasRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422D3282E38A100B778CF /* AliasRow.swift */; }; - 4068C111282E730F00455B04 /* AliasList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 405422CB282E38A100B778CF /* AliasList.swift */; }; 4068C113282E732E00455B04 /* aliases.json in Resources */ = {isa = PBXBuildFile; fileRef = 405422CC282E38A100B778CF /* aliases.json */; }; 4068C115282E74A300455B04 /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4068C114282E74A300455B04 /* Create.swift */; }; 408C2D95282E8DEF00540E59 /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 408C2D94282E8DEF00540E59 /* Create.swift */; }; - 408C2D97282E9B1600540E59 /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 408C2D96282E9B1600540E59 /* Settings.swift */; }; + 408C2D97282E9B1600540E59 /* iSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 408C2D96282E9B1600540E59 /* iSettings.swift */; }; + 40B1755B2872B38700F545A1 /* AliasDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40B175592872B38700F545A1 /* AliasDetail.swift */; }; + 40B1755C2872B38700F545A1 /* AliasDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40B175592872B38700F545A1 /* AliasDetail.swift */; }; + 40B1755D2872B38700F545A1 /* AliasData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40B1755A2872B38700F545A1 /* AliasData.swift */; }; + 40B1755E2872B38700F545A1 /* AliasData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40B1755A2872B38700F545A1 /* AliasData.swift */; }; 40E153E5282E6CF900D30F9B /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40E153E4282E6CF900D30F9B /* Preferences.swift */; }; /* End PBXBuildFile section */ @@ -55,19 +53,17 @@ 4054229C282E36E700B778CF /* mailmux.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mailmux.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4054229E282E36E700B778CF /* macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOS.entitlements; sourceTree = ""; }; 405422A3282E36E700B778CF /* Tests iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 405422A7282E36E700B778CF /* Tests_iOS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_iOS.swift; sourceTree = ""; }; - 405422A9282E36E700B778CF /* Tests_iOSLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_iOSLaunchTests.swift; sourceTree = ""; }; 405422AF282E36E700B778CF /* Tests macOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests macOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 405422B3282E36E700B778CF /* Tests_macOS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_macOS.swift; sourceTree = ""; }; - 405422B5282E36E700B778CF /* Tests_macOSLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_macOSLaunchTests.swift; sourceTree = ""; }; - 405422CB282E38A100B778CF /* AliasList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AliasList.swift; path = Shared/AliasList.swift; sourceTree = SOURCE_ROOT; }; 405422CC282E38A100B778CF /* aliases.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = aliases.json; path = Shared/aliases.json; sourceTree = SOURCE_ROOT; }; - 405422CF282E38A100B778CF /* AliasData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AliasData.swift; path = Shared/AliasData.swift; sourceTree = SOURCE_ROOT; }; 405422D1282E38A100B778CF /* Alias.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Alias.swift; path = Shared/Alias.swift; sourceTree = SOURCE_ROOT; }; 405422D3282E38A100B778CF /* AliasRow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AliasRow.swift; path = Shared/AliasRow.swift; sourceTree = SOURCE_ROOT; }; + 4065B9122872DB4000D3C169 /* Client.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Client.swift; sourceTree = ""; }; + 4065B9182873105700D3C169 /* mailmux--iOS--Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "mailmux--iOS--Info.plist"; sourceTree = ""; }; 4068C114282E74A300455B04 /* Create.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Create.swift; sourceTree = ""; }; 408C2D94282E8DEF00540E59 /* Create.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Create.swift; sourceTree = ""; }; - 408C2D96282E9B1600540E59 /* Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = ""; }; + 408C2D96282E9B1600540E59 /* iSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iSettings.swift; sourceTree = ""; }; + 40B175592872B38700F545A1 /* AliasDetail.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AliasDetail.swift; sourceTree = ""; }; + 40B1755A2872B38700F545A1 /* AliasData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AliasData.swift; sourceTree = ""; }; 40E153E4282E6CF900D30F9B /* Preferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -106,11 +102,10 @@ 40542289282E36E400B778CF = { isa = PBXGroup; children = ( + 4065B9182873105700D3C169 /* mailmux--iOS--Info.plist */, 408C2D93282E8DE400540E59 /* iOS */, 4054228E282E36E400B778CF /* Shared */, 4054229D282E36E700B778CF /* macOS */, - 405422A6282E36E700B778CF /* Tests iOS */, - 405422B2282E36E700B778CF /* Tests macOS */, 40542297282E36E700B778CF /* Products */, ); sourceTree = ""; @@ -118,13 +113,14 @@ 4054228E282E36E400B778CF /* Shared */ = { isa = PBXGroup; children = ( + 40B1755A2872B38700F545A1 /* AliasData.swift */, + 40B175592872B38700F545A1 /* AliasDetail.swift */, 4054228F282E36E400B778CF /* mailmuxApp.swift */, 405422D1282E38A100B778CF /* Alias.swift */, - 405422CF282E38A100B778CF /* AliasData.swift */, 405422D3282E38A100B778CF /* AliasRow.swift */, - 405422CB282E38A100B778CF /* AliasList.swift */, 40542291282E36E700B778CF /* Assets.xcassets */, 405422CC282E38A100B778CF /* aliases.json */, + 4065B9122872DB4000D3C169 /* Client.swift */, ); path = Shared; sourceTree = ""; @@ -149,31 +145,13 @@ 4054229E282E36E700B778CF /* macOS.entitlements */, ); path = macOS; - sourceTree = ""; - }; - 405422A6282E36E700B778CF /* Tests iOS */ = { - isa = PBXGroup; - children = ( - 405422A7282E36E700B778CF /* Tests_iOS.swift */, - 405422A9282E36E700B778CF /* Tests_iOSLaunchTests.swift */, - ); - path = "Tests iOS"; sourceTree = ""; }; - 405422B2282E36E700B778CF /* Tests macOS */ = { - isa = PBXGroup; - children = ( - 405422B3282E36E700B778CF /* Tests_macOS.swift */, - 405422B5282E36E700B778CF /* Tests_macOSLaunchTests.swift */, - ); - path = "Tests macOS"; - sourceTree = ""; - }; 408C2D93282E8DE400540E59 /* iOS */ = { isa = PBXGroup; children = ( 408C2D94282E8DEF00540E59 /* Create.swift */, - 408C2D96282E9B1600540E59 /* Settings.swift */, + 408C2D96282E9B1600540E59 /* iSettings.swift */, ); path = iOS; sourceTree = ""; @@ -259,7 +237,7 @@ attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1330; - LastUpgradeCheck = 1330; + LastUpgradeCheck = 1340; TargetAttributes = { 40542295282E36E700B778CF = { CreatedOnToolsVersion = 13.3.1; @@ -339,12 +317,13 @@ buildActionMask = 2147483647; files = ( 4068C10E282E730600455B04 /* Alias.swift in Sources */, - 4068C10F282E730900455B04 /* AliasData.swift in Sources */, 4068C10D282E730300455B04 /* mailmuxApp.swift in Sources */, 4068C110282E730C00455B04 /* AliasRow.swift in Sources */, - 408C2D97282E9B1600540E59 /* Settings.swift in Sources */, + 40B1755B2872B38700F545A1 /* AliasDetail.swift in Sources */, + 408C2D97282E9B1600540E59 /* iSettings.swift in Sources */, + 40B1755D2872B38700F545A1 /* AliasData.swift in Sources */, + 4065B9132872DB4000D3C169 /* Client.swift in Sources */, 408C2D95282E8DEF00540E59 /* Create.swift in Sources */, - 4068C111282E730F00455B04 /* AliasList.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -355,10 +334,11 @@ 405422DA282E38A100B778CF /* Alias.swift in Sources */, 405422DC282E38A100B778CF /* AliasRow.swift in Sources */, 405422B8282E36E700B778CF /* mailmuxApp.swift in Sources */, - 405422D4282E38A100B778CF /* AliasList.swift in Sources */, 40E153E5282E6CF900D30F9B /* Preferences.swift in Sources */, + 40B1755C2872B38700F545A1 /* AliasDetail.swift in Sources */, 4068C115282E74A300455B04 /* Create.swift in Sources */, - 405422D8282E38A100B778CF /* AliasData.swift in Sources */, + 4065B9142872DB4000D3C169 /* Client.swift in Sources */, + 40B1755E2872B38700F545A1 /* AliasData.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -366,8 +346,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 405422AA282E36E700B778CF /* Tests_iOSLaunchTests.swift in Sources */, - 405422A8282E36E700B778CF /* Tests_iOS.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -375,8 +353,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 405422B6282E36E700B778CF /* Tests_macOSLaunchTests.swift in Sources */, - 405422B4282E36E700B778CF /* Tests_macOS.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -512,8 +488,10 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = F4N9NM3A34; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "mailmux--iOS--Info.plist"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; @@ -541,8 +519,10 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = F4N9NM3A34; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "mailmux--iOS--Info.plist"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; @@ -570,6 +550,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = macOS/macOS.entitlements; + CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; @@ -596,6 +577,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = macOS/macOS.entitlements; + CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; blob - 3faa664ef66e1539df9d1ad48962039e29646a90 blob + fd5f9d334fc2cad45a7aca9bb50ed491edc9438d Binary files apple/mailmux.xcodeproj/project.xcworkspace/xcuserdata/otl.xcuserdatad/UserInterfaceState.xcuserstate and apple/mailmux.xcodeproj/project.xcworkspace/xcuserdata/otl.xcuserdatad/UserInterfaceState.xcuserstate differ blob - b5c30e0501b4caeb0bff655b62f2d7aa147d29df blob + 90b11a1af0b92840e9c1fa46043973b41f47f7ad --- apple/mailmux.xcodeproj/xcuserdata/otl.xcuserdatad/xcschemes/xcschememanagement.plist +++ apple/mailmux.xcodeproj/xcuserdata/otl.xcuserdatad/xcschemes/xcschememanagement.plist @@ -15,5 +15,18 @@ 0 + SuppressBuildableAutocreation + + 4054229B282E36E700B778CF + + primary + + + 405422AE282E36E700B778CF + + primary + + +