From 09a573f57b621747dff995199ca9a8d143e12f18 Mon Sep 17 00:00:00 2001 From: Koda Tomomi Date: Fri, 8 Sep 2023 15:54:12 +0900 Subject: [PATCH 1/2] =?UTF-8?q?systenName=E3=81=AE=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E5=87=A6=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AgileWorks.xcodeproj/project.pbxproj | 10 ++++----- .../AgileWorks/App/RootViewController.swift | 1 - .../Login/View/LoginViewController.swift | 8 +++---- .../ServerSwitchingTableViewController.swift | 4 ++-- .../WebView/View/MenuViewController.swift | 9 ++++---- .../WebView/View/WebViewController.swift | 4 ++-- .../Common/DataStore/KeychainDataStore.swift | 21 ++++++++++++------- AgileWorks/Common/Entity/SessionInfo.swift | 1 + AgileWorks/Common/WidgetView.swift | 8 +++---- .../IntentsExtension/IntentHandler.swift | 4 ++-- AgileWorks/Podfile.lock | 2 +- 11 files changed, 39 insertions(+), 33 deletions(-) diff --git a/AgileWorks/AgileWorks.xcodeproj/project.pbxproj b/AgileWorks/AgileWorks.xcodeproj/project.pbxproj index 5c364a5..12a7cb6 100644 --- a/AgileWorks/AgileWorks.xcodeproj/project.pbxproj +++ b/AgileWorks/AgileWorks.xcodeproj/project.pbxproj @@ -15,6 +15,7 @@ 31AA003024347BD1000177B4 /* ApprovalResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31AA002E24347BBD000177B4 /* ApprovalResponse.swift */; }; 3AF4A84524A06A73006C0C0A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3AF4A84724A06A73006C0C0A /* Localizable.strings */; }; 430C967B2E966FC047726763 /* Pods_All_AgileWorks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CF516C40B9AA44C977664C98 /* Pods_All_AgileWorks.framework */; }; + 5B3C0583429101EF000E5B66 /* Pods_All_AgileWorks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 75D4EC7F2A3C2CAD0096F9D2 /* Pods_All_AgileWorks.framework */; }; 752FE4D02966B9C2004922AD /* ISO8859 in Frameworks */ = {isa = PBXBuildFile; productRef = 752FE4CF2966B9C2004922AD /* ISO8859 */; }; 7549FC8F27EAF42C00FF9E0C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3AF4A84724A06A73006C0C0A /* Localizable.strings */; }; 7549FC9027EAF42C00FF9E0C /* English.strings in Resources */ = {isa = PBXBuildFile; fileRef = 75917F9D27BDF1C30051E201 /* English.strings */; }; @@ -56,7 +57,6 @@ 75D4EC732A3C12730096F9D2 /* WidgetConfiguration.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 75D4EC702A3C01D90096F9D2 /* WidgetConfiguration.intentdefinition */; }; 75D4EC742A3C168C0096F9D2 /* IntentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75D4EC672A3C00B00096F9D2 /* IntentHandler.swift */; }; 75D4EC782A3C29830096F9D2 /* UserDefaultsDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD928CCD2407500400ED04C2 /* UserDefaultsDataStore.swift */; }; - 75D4EC802A3C2CAD0096F9D2 /* Pods_All_AgileWorks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 75D4EC7F2A3C2CAD0096F9D2 /* Pods_All_AgileWorks.framework */; }; 75D4EC812A3C2CAD0096F9D2 /* Pods_All_AgileWorks.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 75D4EC7F2A3C2CAD0096F9D2 /* Pods_All_AgileWorks.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 75D4EC872A3C32F10096F9D2 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5061B3242866780014F3FA /* Configuration.swift */; }; 75D4EC882A3C33310096F9D2 /* KeychainDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDEA2CD4246CDAEF00D3E15F /* KeychainDataStore.swift */; }; @@ -445,7 +445,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 75D4EC802A3C2CAD0096F9D2 /* Pods_All_AgileWorks.framework in Frameworks */, 75D4EC652A3C00B00096F9D2 /* Intents.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -472,6 +471,7 @@ files = ( 752FE4D02966B9C2004922AD /* ISO8859 in Frameworks */, 430C967B2E966FC047726763 /* Pods_All_AgileWorks.framework in Frameworks */, + 5B3C0583429101EF000E5B66 /* Pods_All_AgileWorks.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1258,7 +1258,7 @@ ); mainGroup = BDA1830623F3FD7F00C9A6DD; packageReferences = ( - 752FE4CE2966B9C1004922AD /* XCRemoteSwiftPackageReference "ISO8859" */, + 752FE4CE2966B9C1004922AD /* XCRemoteSwiftPackageReference "ISO8859.git" */, ); productRefGroup = BDA1831023F3FD7F00C9A6DD /* Products */; projectDirPath = ""; @@ -2477,7 +2477,7 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 752FE4CE2966B9C1004922AD /* XCRemoteSwiftPackageReference "ISO8859" */ = { + 752FE4CE2966B9C1004922AD /* XCRemoteSwiftPackageReference "ISO8859.git" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/Cosmo/ISO8859.git"; requirement = { @@ -2490,7 +2490,7 @@ /* Begin XCSwiftPackageProductDependency section */ 752FE4CF2966B9C2004922AD /* ISO8859 */ = { isa = XCSwiftPackageProductDependency; - package = 752FE4CE2966B9C1004922AD /* XCRemoteSwiftPackageReference "ISO8859" */; + package = 752FE4CE2966B9C1004922AD /* XCRemoteSwiftPackageReference "ISO8859.git" */; productName = ISO8859; }; /* End XCSwiftPackageProductDependency section */ diff --git a/AgileWorks/AgileWorks/App/RootViewController.swift b/AgileWorks/AgileWorks/App/RootViewController.swift index bf268dc..42b925b 100644 --- a/AgileWorks/AgileWorks/App/RootViewController.swift +++ b/AgileWorks/AgileWorks/App/RootViewController.swift @@ -111,7 +111,6 @@ extension RootViewController { KeychainDataStore().removeSessionID(serverNumber: serverNumber) } //認証情報削除 - KeychainDataStore().removeServerName() KeychainDataStore().removeLanguage() } diff --git a/AgileWorks/AgileWorks/Login/View/LoginViewController.swift b/AgileWorks/AgileWorks/Login/View/LoginViewController.swift index e96cf0a..04c7c1e 100644 --- a/AgileWorks/AgileWorks/Login/View/LoginViewController.swift +++ b/AgileWorks/AgileWorks/Login/View/LoginViewController.swift @@ -206,8 +206,8 @@ class LoginViewController: UIViewController { let serverList = UserDefaultsDataStore().readServerList() var serverCheckFlg = false for serverNumber in serverList { - let serverName = KeychainDataStore().readServerName(serverNumber: serverNumber)! - if serverName == serverHost { + let systemName = KeychainDataStore().readSystemName(serverNumber: serverNumber) + if systemName == serverHost { serverCheckFlg = true let alert = UIAlertController(title: "", message: getLocalizableStrings(key: "LoginServerAlert", comment: ""), preferredStyle: .alert) let ok = UIAlertAction(title: "OK", style: .default) { (action) in @@ -269,10 +269,10 @@ class LoginViewController: UIViewController { Session.send(sessionEndpoint) { result in switch result { // セッション情報取得成功 - case .success(let response): + case .success(var response): setStringsName(language: response.user.displayLanguage) KeychainDataStore().writeSessionID(sessionID: response.sessionId) - KeychainDataStore().writeServerName(serverName: "サーバー識別名") //TODO response.server.name + KeychainDataStore().writeSystemName(systemName: response.systemName) DispatchQueue.main.async { UserDefaultsDataStore().addServerList() let serverList = UserDefaultsDataStore().readServerList() diff --git a/AgileWorks/AgileWorks/ServerSwitching/View/ServerSwitchingTableViewController.swift b/AgileWorks/AgileWorks/ServerSwitching/View/ServerSwitchingTableViewController.swift index b788826..6520864 100644 --- a/AgileWorks/AgileWorks/ServerSwitching/View/ServerSwitchingTableViewController.swift +++ b/AgileWorks/AgileWorks/ServerSwitching/View/ServerSwitchingTableViewController.swift @@ -48,9 +48,9 @@ class ServerSwitchingTableTableViewController: UITableViewController { let cell = tableView.dequeueReusableCell(withIdentifier: "ServerSwitchingTableViewCell", for: indexPath) let serverList = UserDefaultsDataStore().readServerList() - let serverName = cell.viewWithTag(1) as! UILabel + let systemName = cell.viewWithTag(1) as! UILabel let serverNumber = serverList[indexPath.row] - serverName.text = KeychainDataStore().readServerName(serverNumber: serverNumber) + systemName.text = KeychainDataStore().readSystemName(serverNumber: serverNumber) let badgeIcon = cell.viewWithTag(2) as! UIImageView badgeIcon.image = UIImage(systemName: "circle.fill", withConfiguration: UIImage.SymbolConfiguration(font: .systemFont(ofSize: 25))) diff --git a/AgileWorks/AgileWorks/WebView/View/MenuViewController.swift b/AgileWorks/AgileWorks/WebView/View/MenuViewController.swift index 0129ea3..ef7008d 100644 --- a/AgileWorks/AgileWorks/WebView/View/MenuViewController.swift +++ b/AgileWorks/AgileWorks/WebView/View/MenuViewController.swift @@ -65,15 +65,16 @@ class MenuViewController: UIViewController { // セッション情報取得 loadSessionInfo { result in switch result { - case .success(let response): + case .success(var response): let userName = response.user.name - let serverName = KeychainDataStore().readServerURL()! //TODO response.server.name let sessionId = response.sessionId + let systemName = response.systemName DispatchQueue.main.async { self.nameLabel.text = userName - self.serverLabel.text = serverName + self.serverLabel.text = systemName KeychainDataStore().writeSessionID(sessionID: sessionId) - KeychainDataStore().writeServerName(serverName: serverName) + KeychainDataStore().writeSystemName(systemName: systemName) + self.serverLabel.text = KeychainDataStore().readSystemName() } case .failure: DispatchQueue.main.async { diff --git a/AgileWorks/AgileWorks/WebView/View/WebViewController.swift b/AgileWorks/AgileWorks/WebView/View/WebViewController.swift index 823cf88..6e41436 100644 --- a/AgileWorks/AgileWorks/WebView/View/WebViewController.swift +++ b/AgileWorks/AgileWorks/WebView/View/WebViewController.swift @@ -224,9 +224,9 @@ class WebViewController: UIViewController { Session.send(sessionEndpoint) { result in switch result { // セッション情報取得成功 - case .success(let response): + case .success(var response): KeychainDataStore().writeSessionID(sessionID: response.sessionId) - KeychainDataStore().writeServerName(serverName: "サーバー識別名") //TODO response.server.name + KeychainDataStore().writeSystemName(systemName: response.systemName) setStringsName(language: response.user.displayLanguage) if isInit { // 画面ロード diff --git a/AgileWorks/Common/DataStore/KeychainDataStore.swift b/AgileWorks/Common/DataStore/KeychainDataStore.swift index 7d7c600..1b3e8b1 100644 --- a/AgileWorks/Common/DataStore/KeychainDataStore.swift +++ b/AgileWorks/Common/DataStore/KeychainDataStore.swift @@ -19,7 +19,7 @@ final class KeychainDataStore: DataStoreProtocol { private let kContextPath: String = "ContextPath" private let kDeviceID: String = "DeviceID" private let kSessionID: String = "SessionID" - private let kServerName: String = "ServerName" + private let kSystemName: String = "SystemName" private let kCertificateLabel: String = "CertificateLabel" // アクセストークンの書き込み @@ -177,21 +177,26 @@ final class KeychainDataStore: DataStoreProtocol { } // サーバー識別名の書き込み - func writeServerName(serverName: String) { - setKeychainValue(key: kServerName, value: serverName) + func writeSystemName(systemName: String?) { + if systemName != nil { + setKeychainValue(key: kSystemName, value: systemName!) + } else { + let systemName = readServerURL() + setKeychainValue(key: kSystemName, value: systemName!) + } } // サーバー識別名の読み込み - func readServerName(serverNumber: Int? = nil) -> String? { + func readSystemName(serverNumber: Int? = nil) -> String? { if let serverNumber = serverNumber { - return getKeychainValue(key: kServerURL, serverNumber: serverNumber) + return getKeychainValue(key: kSystemName, serverNumber: serverNumber) } - return getKeychainValue(key: kServerURL) + return getKeychainValue(key: kSystemName) } // サーバー識別名の削除 - func removeServerName() { - removeKeychainValue(key: kServerName) + func removeSystemName() { + removeKeychainValue(key: kSystemName) } func writeCertificateLabel(label: String) { diff --git a/AgileWorks/Common/Entity/SessionInfo.swift b/AgileWorks/Common/Entity/SessionInfo.swift index 695a4e8..a9a3e60 100644 --- a/AgileWorks/Common/Entity/SessionInfo.swift +++ b/AgileWorks/Common/Entity/SessionInfo.swift @@ -34,4 +34,5 @@ struct SessionInfo: Codable { let unit: [Unit] let role: [Role] let sessionId: String + var systemName: String? } diff --git a/AgileWorks/Common/WidgetView.swift b/AgileWorks/Common/WidgetView.swift index ed1a4f5..7120725 100644 --- a/AgileWorks/Common/WidgetView.swift +++ b/AgileWorks/Common/WidgetView.swift @@ -56,7 +56,7 @@ struct TodayWidgetView: View { if !UserDefaultsDataStore().readServerList().isEmpty { Picker(selection: $selection, label: Text("")) { ForEach(0.. Date: Mon, 11 Sep 2023 13:21:49 +0900 Subject: [PATCH 2/2] =?UTF-8?q?systemName=E3=81=AE=E5=89=8A=E9=99=A4?= =?UTF-8?q?=E5=87=A6=E7=90=86=E8=BF=BD=E5=8A=A0=E3=83=BB=E4=B8=8D=E8=A6=81?= =?UTF-8?q?=E3=81=AA=E4=BB=A3=E5=85=A5=E5=89=8A=E9=99=A4=E3=83=BBsystemNam?= =?UTF-8?q?e=E3=81=AE=E4=BB=95=E6=A7=98=E3=81=AB=E3=81=A4=E3=81=84?= =?UTF-8?q?=E3=81=A6=E3=81=AE=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88=E8=BF=BD?= =?UTF-8?q?=E8=A8=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AgileWorks/AgileWorks/App/RootViewController.swift | 1 + AgileWorks/AgileWorks/WebView/View/MenuViewController.swift | 1 - AgileWorks/Common/DataStore/KeychainDataStore.swift | 1 + AgileWorks/Podfile.lock | 2 +- 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/AgileWorks/AgileWorks/App/RootViewController.swift b/AgileWorks/AgileWorks/App/RootViewController.swift index 42b925b..7710298 100644 --- a/AgileWorks/AgileWorks/App/RootViewController.swift +++ b/AgileWorks/AgileWorks/App/RootViewController.swift @@ -111,6 +111,7 @@ extension RootViewController { KeychainDataStore().removeSessionID(serverNumber: serverNumber) } //認証情報削除 + KeychainDataStore().removeSystemName() KeychainDataStore().removeLanguage() } diff --git a/AgileWorks/AgileWorks/WebView/View/MenuViewController.swift b/AgileWorks/AgileWorks/WebView/View/MenuViewController.swift index ef7008d..1700e93 100644 --- a/AgileWorks/AgileWorks/WebView/View/MenuViewController.swift +++ b/AgileWorks/AgileWorks/WebView/View/MenuViewController.swift @@ -71,7 +71,6 @@ class MenuViewController: UIViewController { let systemName = response.systemName DispatchQueue.main.async { self.nameLabel.text = userName - self.serverLabel.text = systemName KeychainDataStore().writeSessionID(sessionID: sessionId) KeychainDataStore().writeSystemName(systemName: systemName) self.serverLabel.text = KeychainDataStore().readSystemName() diff --git a/AgileWorks/Common/DataStore/KeychainDataStore.swift b/AgileWorks/Common/DataStore/KeychainDataStore.swift index 1b3e8b1..03de57d 100644 --- a/AgileWorks/Common/DataStore/KeychainDataStore.swift +++ b/AgileWorks/Common/DataStore/KeychainDataStore.swift @@ -181,6 +181,7 @@ final class KeychainDataStore: DataStoreProtocol { if systemName != nil { setKeychainValue(key: kSystemName, value: systemName!) } else { + //systemNameがレスポンスに無い場合、serverURLをsystemNameとして設定 let systemName = readServerURL() setKeychainValue(key: kSystemName, value: systemName!) } diff --git a/AgileWorks/Podfile.lock b/AgileWorks/Podfile.lock index 2e036b5..796da82 100644 --- a/AgileWorks/Podfile.lock +++ b/AgileWorks/Podfile.lock @@ -177,4 +177,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 098b08dfc02bcc011514548f1c9cd491768400be -COCOAPODS: 1.12.1 +COCOAPODS: 1.11.2 -- GitLab