diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1.png new file mode 100644 index 00000000..5d723ad7 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1@2x.png new file mode 100644 index 00000000..57c664d2 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1@2x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1@3x.png new file mode 100644 index 00000000..65287e20 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1@3x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin.png new file mode 100644 index 00000000..77336e32 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin@2x.png new file mode 100644 index 00000000..c2c21d34 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin@2x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin@3x.png new file mode 100644 index 00000000..bbbf3983 Binary files /dev/null and b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin@3x.png differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/Contents.json new file mode 100644 index 00000000..c1a4d884 --- /dev/null +++ b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/Contents.json @@ -0,0 +1,56 @@ +{ + "images" : [ + { + "filename" : "AppleLogin.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "AppleLogin-1.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "AppleLogin@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "AppleLogin-1@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "AppleLogin@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "AppleLogin-1@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/NADA-iOS-forRelease/Resouces/Storyboards/Login/Login.storyboard b/NADA-iOS-forRelease/Resouces/Storyboards/Login/Login.storyboard index 3d4ae7ef..e52c5d08 100644 --- a/NADA-iOS-forRelease/Resouces/Storyboards/Login/Login.storyboard +++ b/NADA-iOS-forRelease/Resouces/Storyboards/Login/Login.storyboard @@ -22,6 +22,7 @@ + diff --git a/NADA-iOS-forRelease/Sources/AppDelegate.swift b/NADA-iOS-forRelease/Sources/AppDelegate.swift index bb4ba36a..8662c830 100644 --- a/NADA-iOS-forRelease/Sources/AppDelegate.swift +++ b/NADA-iOS-forRelease/Sources/AppDelegate.swift @@ -7,10 +7,11 @@ import UIKit import KakaoSDKCommon +import AuthenticationServices @main class AppDelegate: UIResponder, UIApplicationDelegate { - + var isLogin = false func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { @@ -20,6 +21,29 @@ class AppDelegate: UIResponder, UIApplicationDelegate { if UserDefaults.standard.string(forKey: Const.UserDefaults.accessToken) != nil { isLogin = true } + +// let appleIDProvider = ASAuthorizationAppleIDProvider() +// appleIDProvider.getCredentialState(forUserID: Const.UserDefaults.userID) { (credentialState, error) in +// switch credentialState { +// case .authorized: +// print("해당 ID는 연동되어있습니다.") +// self.isLogin = true +// case .revoked: +// print("해당 ID는 연동되어있지않습니다.") +// self.isLogin = false +// case .notFound: +// print("해당 ID를 찾을 수 없습니다.") +// self.isLogin = false +// default: +// break +// } +// } + + NotificationCenter.default.addObserver(forName: ASAuthorizationAppleIDProvider.credentialRevokedNotification, object: nil, queue: nil) { (Notification) in + print("Revoked Notification") + self.isLogin = false + } + return true } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift index 0c85a460..c09e782a 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift @@ -21,15 +21,13 @@ class LoginViewController: UIViewController { super.viewDidLoad() setUI() - // FIXME: - 서버 연결 테스트, 추후 위치 수정 필요 - // getUserIDFetchWithAPI(userID: "nada") - // getUserTokenFetchWithAPI(userID: "nada") } // MARK: - Functions func setUI() { let kakaoButton = UIButton() kakaoButton.setImage(UIImage(named: "kakao_login_large_wide"), for: .normal) + kakaoButton.cornerRadius = 15 kakaoButton.addTarget(self, action: #selector(kakaoSignInButtonPress), for: .touchUpInside) loginProviderStackView.addSubview(kakaoButton) @@ -42,6 +40,8 @@ class LoginViewController: UIViewController { ]) let authorizationButton = ASAuthorizationAppleIDButton(type: .signIn, style: .black) + // let authorizationButton = UIButton() + // authorizationButton.setImage(UIImage(named: "appleLogin"), for: .normal) authorizationButton.addTarget(self, action: #selector(appleSignInButtonPress), for: .touchUpInside) loginProviderStackView.addSubview(authorizationButton) @@ -100,7 +100,7 @@ class LoginViewController: UIViewController { // MARK: - KakaoSignIn extension LoginViewController { func loginWithApp() { - UserApi.shared.loginWithKakaoTalk {(oauthToken, error) in + UserApi.shared.loginWithKakaoTalk {(_, error) in if let error = error { print(error) } else { @@ -123,7 +123,7 @@ extension LoginViewController { } func loginWithWeb() { - UserApi.shared.loginWithKakaoAccount {(oauthToken, error) in + UserApi.shared.loginWithKakaoAccount {(_, error) in if let error = error { print(error) } else { @@ -166,17 +166,16 @@ extension LoginViewController: ASAuthorizationControllerDelegate, ASAuthorizatio // Apple ID 연동 성공 시 func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { switch authorization.credential { - // Apple ID + // Apple ID case let appleIDCredential as ASAuthorizationAppleIDCredential: - // 계정 정보 가져오기 let userIdentifier = appleIDCredential.user - let fullName = appleIDCredential.fullName - let email = appleIDCredential.email + // let fullName = appleIDCredential.fullName + // let email = appleIDCredential.email - print("User ID : \(userIdentifier)") - print("User Email : \(email ?? "")") - print("User Name : \((fullName?.givenName ?? "") + (fullName?.familyName ?? ""))") + // print("User ID : \(userIdentifier)") + // print("User Email : \(email ?? "")") + // print("User Name : \((fullName?.givenName ?? "") + (fullName?.familyName ?? ""))") postUserSignUpWithAPI(request: userIdentifier) presentToMain() @@ -193,47 +192,12 @@ extension LoginViewController: ASAuthorizationControllerDelegate, ASAuthorizatio // MARK: - Network extension LoginViewController { - func getUserIDFetchWithAPI(userID: String) { - UserAPI.shared.userIDFetch(userID: userID) { response in - switch response { - case .success(let data): - print(data) - case .requestErr(let message): - print("getUserIDFetchWithAPI - requestErr", message) - case .pathErr: - print("getUserIDFetchWithAPI - pathErr") - case .serverErr: - print("getUserIDFetchWithAPI - serverErr") - case .networkFail: - print("getUserIDFetchWithAPI - networkFail") - } - } - } - - func getUserTokenFetchWithAPI(userID: String) { - UserAPI.shared.userTokenFetch(userID: userID) { response in - switch response { - case .success(let data): - print(data) - case .requestErr(let message): - print("getUserTokenFetchWithAPI - requestErr", message) - case .pathErr: - print("getUserTokenFetchWithAPI - pathErr") - case .serverErr: - print("getUserTokenFetchWithAPI - serverErr") - case .networkFail: - print("getUserTokenFetchWithAPI - networkFail") - } - } - } - func postUserSignUpWithAPI(request: String) { UserAPI.shared.userSocialSignUp(request: request) { response in switch response { case .success(let loginData): print("postUserSignUpWithAPI - success") if let userData = loginData as? UserWithTokenRequest { - print(userData.user.userID, "⭐️") UserDefaults.standard.set(userData.user.userID, forKey: Const.UserDefaults.userID) if let tokenData = userData.user.token as? Token { UserDefaults.standard.set(tokenData.accessToken, forKey: Const.UserDefaults.accessToken)