diff --git a/YELLO-iOS/YELLO-iOS.xcodeproj/project.pbxproj b/YELLO-iOS/YELLO-iOS.xcodeproj/project.pbxproj index ef3c87b7..4c19a212 100644 --- a/YELLO-iOS/YELLO-iOS.xcodeproj/project.pbxproj +++ b/YELLO-iOS/YELLO-iOS.xcodeproj/project.pbxproj @@ -2551,7 +2551,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.16.0; + MARKETING_VERSION = 1.16.1; OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = YELLO.iOS.dev; PRODUCT_NAME = "$(Yello_Bundle_Name)"; @@ -2714,7 +2714,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.16.0; + MARKETING_VERSION = 1.16.1; OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = YELLO.iOS; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2755,7 +2755,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.16.0; + MARKETING_VERSION = 1.16.1; OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = YELLO.iOS; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/YELLO-iOS/YELLO-iOS/Global/Shared/UserManager.swift b/YELLO-iOS/YELLO-iOS/Global/Shared/UserManager.swift index c33ee1e2..4e1a94f6 100644 --- a/YELLO-iOS/YELLO-iOS/Global/Shared/UserManager.swift +++ b/YELLO-iOS/YELLO-iOS/Global/Shared/UserManager.swift @@ -10,12 +10,12 @@ import Foundation struct UserManager { static var shared = UserManager() - var social: String = "" + var social: String = "KAKAO" var uuid: String = "" var email: String = "" var deviceToken: String = "" var profileImage: String = "" - var groupId: Int = 0 + var groupId: Int = 1 var groupAdmissionYear: Int = 0 var name: String = "" var yelloId: String = "" diff --git a/YELLO-iOS/YELLO-iOS/Network/Base/YelloRequestInterceptor.swift b/YELLO-iOS/YELLO-iOS/Network/Base/YelloRequestInterceptor.swift index 245ed6eb..21fb3b87 100644 --- a/YELLO-iOS/YELLO-iOS/Network/Base/YelloRequestInterceptor.swift +++ b/YELLO-iOS/YELLO-iOS/Network/Base/YelloRequestInterceptor.swift @@ -63,7 +63,6 @@ final class YelloRequestInterceptor: RequestInterceptor { switch result { case .success(let data): if data.status == 403 { - completion(false) self.logout() } if data.status == 201 { @@ -89,15 +88,15 @@ final class YelloRequestInterceptor: RequestInterceptor { } else { DispatchQueue.main.async { print("logout() success.") - let sceneDelegate = UIApplication.shared.connectedScenes.first?.delegate as! SceneDelegate - - UserManager.shared.isResigned = false - UserManager.shared.isFirstUser = false - - UserDefaults.standard.removeObject(forKey: "isLoggined") - sceneDelegate.window?.rootViewController = UINavigationController(rootViewController: KakaoLoginViewController()) } } } + let sceneDelegate = UIApplication.shared.connectedScenes.first?.delegate as! SceneDelegate + + UserManager.shared.isResigned = false + UserManager.shared.isFirstUser = false + + UserDefaults.standard.removeObject(forKey: "isLoggined") + sceneDelegate.window?.rootViewController = UINavigationController(rootViewController: KakaoLoginViewController()) } } diff --git a/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/HighSchoolViewController.swift b/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/HighSchoolViewController.swift index 4cd181b6..fa09111c 100644 --- a/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/HighSchoolViewController.swift +++ b/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/HighSchoolViewController.swift @@ -9,6 +9,7 @@ import UIKit import Amplitude import SnapKit +import FirebaseCrashlytics import Then class HighSchoolViewController: OnboardingBaseViewController { @@ -89,8 +90,11 @@ class HighSchoolViewController: OnboardingBaseViewController { NetworkService.shared.onboardingService.getHighSchoolClass(queryDTO: queryDTO) { result in switch result { case .success(let data): - guard let data = data.data else { return } - self.groupId = data.groupId + if let data = data.data { + self.groupId = data.groupId + } else { + Crashlytics.crashlytics().log("dto: \(queryDTO) \n data: \(String(describing: data.data))") + } default: print("network Error") } @@ -139,8 +143,6 @@ class HighSchoolViewController: OnboardingBaseViewController { guard let buttonTitleLabel = sender.titleLabel else { return } self.schoolLevel = extractNumbers(from: buttonTitleLabel.text ?? "") } - - } extension HighSchoolViewController: UITextFieldDelegate { diff --git a/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/KakaoLoginViewController.swift b/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/KakaoLoginViewController.swift index b636f3c3..54f6b016 100644 --- a/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/KakaoLoginViewController.swift +++ b/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/KakaoLoginViewController.swift @@ -54,7 +54,9 @@ class KakaoLoginViewController: UIViewController { } else { UserManager.shared.isNeedModName = true } - UserManager.shared.gender = kakaoUser.gender?.rawValue.uppercased() ?? "" + if let gender = kakaoUser.gender { + UserManager.shared.gender = gender.rawValue.uppercased() + } if let profile = kakaoUser.profile?.profileImageUrl { UserManager.shared.profileImage = profile.absoluteString } diff --git a/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/RecommendIdViewController.swift b/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/RecommendIdViewController.swift index 85de407a..d742bae9 100644 --- a/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/RecommendIdViewController.swift +++ b/YELLO-iOS/YELLO-iOS/Presentation/Onboarding/ViewController/RecommendIdViewController.swift @@ -7,6 +7,7 @@ import UIKit import Amplitude +import FirebaseCrashlytics class RecommendIdViewController: OnboardingBaseViewController { // MARK: - Variables @@ -109,6 +110,12 @@ class RecommendIdViewController: OnboardingBaseViewController { private func postUserInfo() { let user = UserManager.shared + + if user.gender == "" { + UserManager.shared.gender = "FEMALE" + Crashlytics.crashlytics().log("성별값이 올바르지 않습니다. 기본값으로 설정합니다.") + } + let requestDTO = SignUpRequestDTO(social: user.social, uuid: user.uuid, deviceToken: user.deviceToken, email: user.email, profileImage: user.profileImage, groupID: user.groupId, groupAdmissionYear: user.groupAdmissionYear, name: user.name, yelloID: user.yelloId, gender: user.gender, friends: user.friends, recommendID: user.recommendId) NetworkService.shared.onboardingService.postUserInfo(requestDTO: requestDTO) { [self] result in @@ -144,6 +151,12 @@ class RecommendIdViewController: OnboardingBaseViewController { Amplitude.instance().setUserProperties(userProperties) self.didPostUserInfo = true self.navigationController?.pushViewController(pushViewController, animated: false) + case .requestErr(let data): + self.isFail = true + self.view.showToast(message: "오류가 발생했습니다. 잠시후 다시 시도해주세요.") + Crashlytics.crashlytics().setUserID(UserManager.shared.yelloId) + Crashlytics.crashlytics().log("dto: \(requestDTO) \n message: \(data.message)") + return default: self.isFail = true self.view.showToast(message: "알 수 없는 오류가 발생하였습니다.") @@ -153,8 +166,9 @@ class RecommendIdViewController: OnboardingBaseViewController { } override func setUser() { - guard let text = baseView.recommendIdTextField.textField.text else { return } - UserManager.shared.recommendId = text + if let text = baseView.recommendIdTextField.textField.text { + UserManager.shared.recommendId = text + } } // MARK: Objc Function @@ -170,21 +184,21 @@ class RecommendIdViewController: OnboardingBaseViewController { } override func didTapButton(sender: UIButton) { - nextButton.isEnabled = true skipButton.isEnabled = true if isFail { self.view.showToast(message: "알 수 없는 오류가 발생하였습니다.") return } - setUser() - postUserInfo() if sender == skipButton { UserManager.shared.recommendId = "" Amplitude.instance().logEvent("click_onboarding_recommend", withEventProperties: ["rec_exist": "pass"] ) } else if sender == nextButton { Amplitude.instance().logEvent("click_onboarding_recommend", withEventProperties: ["rec_exist": "next"] ) } + + setUser() + postUserInfo() } }