From a05782487ca907c01fb4712e677a032ed704cfd6 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sat, 18 Dec 2021 19:12:58 +0900 Subject: [PATCH 1/5] =?UTF-8?q?[CHORE]=20#167=20-=20=EB=A9=94=EC=9D=B8?= =?UTF-8?q?=EB=B7=B0=EC=97=90=20=EB=93=A4=EC=96=B4=EA=B0=80=EB=8A=94=20?= =?UTF-8?q?=EB=AA=85=ED=95=A8=EC=83=9D=EC=84=B1&=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=95=84=EC=9D=B4=EC=BD=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iconAdd.imageset/iconAdd-1.png | Bin 152 -> 198 bytes .../iconAdd.imageset/iconAdd.png | Bin 194 -> 203 bytes .../iconAdd.imageset/iconAdd@2x-1.png | Bin 183 -> 220 bytes .../iconAdd.imageset/iconAdd@2x.png | Bin 226 -> 237 bytes .../iconAdd.imageset/iconAdd@3x-1.png | Bin 227 -> 253 bytes .../iconAdd.imageset/iconAdd@3x.png | Bin 284 -> 269 bytes .../iconList.imageset/iconList-1.png | Bin 178 -> 247 bytes .../iconList.imageset/iconList.png | Bin 178 -> 249 bytes .../iconList.imageset/iconList@2x-1.png | Bin 196 -> 327 bytes .../iconList.imageset/iconList@2x.png | Bin 196 -> 305 bytes .../iconList.imageset/iconList@3x-1.png | Bin 255 -> 427 bytes .../iconList.imageset/iconList@3x.png | Bin 255 -> 404 bytes .../Resouces/Storyboards/Main/Front.storyboard | 12 ++++++------ 13 files changed, 6 insertions(+), 6 deletions(-) diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconAdd.imageset/iconAdd-1.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconAdd.imageset/iconAdd-1.png index 8d0e3b12a0a645020dd8b7db92d16826c0281668..e21184dbe45c7289c5cd421da3870bffba61a7ee 100644 GIT binary patch delta 154 zcmbQic#Ls^1SbnK0|SFlq{8WmiVF3j0X`wFA3uL}FYx*F`Rm6o-#>o*^8Vu&pve2& z_{l(pY$ZW{!43>F3OV#uEEPCa?!HMK{RhA56_t^8$~$I2o+TJB{VQFM3%}-Fj4601RBKP>B{Ekvd$@? F2>=J(HXi^0 delta 107 zcmX@cID>J51Sb7xx4StzN0{;44$rj JF6*2UngDB?BJ=BI}4ivKUba4!kxSX7zz_>v| zq40|LM9bDG1x-_?Tsl2v$`ps3XGIzX43Qj<8+64)M11sxMMReNEp-s+JCj(ZpsK-; Z^-1XRp3V;k7`TCEdAjBDYtpzL`8*q(Ey(iSN8%REgb_O zQr9xj)-}-41CoZ{4(~SwDr74O@(X5gm|;+mKjTN44N%0=)5S4F;&O7r0{#G}r$);p z7kp%0aXej2M8vmPM5Kjt}Bk|!(1dJC2wn!!N&0C1K*=n*MGYK Q4Po$f^>bP0#FWqk0OT<;1ONa4 diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconAdd.imageset/iconAdd@2x-1.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconAdd.imageset/iconAdd@2x-1.png index 1164374fa1ab5efb7c54a48a2f0b9962865c23ce..2fa34047ab211a9db0ca84a9c5a9de65c6c890e5 100644 GIT binary patch delta 163 zcmdnac!zOq~o-U3d7N?UFB;GjOB~{SmHDjT-itwZZnIe9t-IcpiIOp7CNS8TwaOPDuK?a82FpJ+pjxU}9 P&1dj*^>bP0l+XkK+tx!f delta 125 zcmcb^xSer=V;O&dPl&5~fzQX!-`;=z^7+g6kDtGmz2gdCU|?V=3GxeOc%Bg7DBfNR z6^NWTE0BQ|Pf{M~@Asv$#rwOp?+Gp}r#?8cNhs`F&aL`8*q=>VS)SN8%REj@(ZaUN z#agjbpoB9$LU+!hXgLF^z$ac0&akbK(`CD{dCJ6B3-oyzW+ZtXSF>Sw3$%#A)78&q Iol`;+0FG%s&Hw-a delta 204 zcmaFM_=r)lGr-TCmrII^fq{Y7)59eQNZWug3p0>Bap{QTL`8*q(Ey(iSN8%REgb_5 z9RqD$Lv1|+Eo~5kw;@ansF1BB$S;_oLE>sb!M>^HNkEZEPZ!4!i_^&o60FQTA#*;Q zG@7ZZ{a|96uQ&Gr<+C%UsTpYbs%NUXI|>N+c^k7By96rxS@QBqEc9q!=)HWBlJ9|n xlI5KmJ;!c5n4qLKp^-DCo~iY?#sYQ*23BWFhYYiz8$eqaJYD@<);T3K0RUrnI`jYl diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconAdd.imageset/iconAdd@3x-1.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconAdd.imageset/iconAdd@3x-1.png index a167d186a905a2c6658b06fe4e0937b87c9237ce..0bc0f690c8f7c7cc8819922082d5a713c062c929 100644 GIT binary patch delta 196 zcmV;#06YKV0sR4xL4OrcOjJcja7^;__VD!f@$~ia^Y!xc_3`ud2Dj$U00006bW%=J z0KY2gN|Xm^-VYIPAO8@{tvU}^5`SAS!0000ZXM0A5K%K~zY`V_+Bsqkv3cC`4EdQ)s9GK}C$Ap#lUIv4(~Qj4B#cgh!EK zCERLtq&+~Gg&9aLKfJDFqM|~*M1W6-t9yZuwyvSJ zu7S3m0f^K!)B=hIkxLPLN3O{7Vc*lJSSFL z@&z<4(U9?-z9?u3Ph_94!kgq{Yfm(qyzVHrD4rz5)6m3l&XKd};u51(85J5ztF)9? n1*xp6N=-17$X#gTe~DWM4fkWy5T delta 262 zcmeBWn!}{n8Q|y6%O%Cdz`(%k>ERLtq@zHXg&9bmYKt+PsHjjc9pDq<>R#ZZt!t>Q zV+bTQv<#&JNgZci7-kch*{2@l6tIFE{B$AghHL7$O~(n_Sy+U^~!V44$rjF6*2UngH$Y BS7rbJ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconList.imageset/iconList-1.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconList.imageset/iconList-1.png index 6bc2b8c86446d419864b939c24d24ddc6fe3955a..7b4928be273ac43f73cef7f8782c4812f4585004 100644 GIT binary patch delta 225 zcmdnQ_?=O)Gr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QBk2@E5Ikj)xE&y?REv4cxu+YW~V zY$3L5czGI|1OyHos4<^-Rcu}RPb(pIS4pl1ItcbP0l+XkK)Ye|? delta 155 zcmey)xQS7*Gr-TCmrII^fq{Y7)59eQNXvmR3p0>BDYtpzL`8){{s5m4SN8&+_n$w% ze-A<*KYuNk7P9~S7!N7vZSHRB zlhdeR*Ft<-Tl1;sF}gj)z4*}Q$iB}=U+3( diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconList.imageset/iconList.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconList.imageset/iconList.png index 5c5e3a41462a55a1e909e58d2ca772e5511d5dc5..ff324b37dbe23a03323e4c47e0f43e49977cd5ca 100644 GIT binary patch delta 227 zcmdnQ_>)nwGr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QBk2@J-{c#)xE$+OV2<@ z*Fej_Kug!qz`#IT*HBx}0EEB{1+d7Y3DI#ttvn?`e!&b52?_TFmMIv#4-k01xEW+{ zgr|#Rh{WaOgauj&pA$}4GBa}W%xRBU_{Nxz=MA^StSJf$7(@B98J!m>u&@|xkV*O4 z_}Vhjvh~PAy@VSaq1za*GW4BDYtpzL`8){{s5m4SN8%REgb_5 zFw)jFT;M7(6{v)zB*-tA!9hS_)6$!VfqX+x7sn8Z%gG561q;p`P~l)aq@cICyQz~~ xM1$d{j~<(r!9GThMnPudki8csnDnn>U@%xII=yxG_Y$CH22WQ%mvv4FO#qS}D?hs`F&aL`8*qg8-ipSN8&+PoKYi z`tt45=dbTSefbDveEItE3y}To{rB(h-+%x38N>xD_yCms{B;uVH65TC{3Stt!3_KN zCnP+ZVI!cRP<4KNfa^4~1wg4;o-U3d7N?UFBv_9$cgm|97})&n=kjAxJ@;Qc;X#M{ zBap{QTL`8*qp#Yx{SN8&+_a8sM zfB*UY$1fj0fBX3PYt+e8D}bt4OM?7@85$%C?z4n^`3MxS_jGX#u{fQaAi=trK~zJ! zk;5@0fn{=P5pN)a(83iA8f=Vb7A|B{VB(b!Q1?Ahz~m>*yY*s#wBSNBE;eBXhU%{o Ww{s3Nas!QG@O1TaVOi&t&;$SjA~^s6 diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconList.imageset/iconList@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconList.imageset/iconList@2x.png index ed2207edfb71c879b2edd2fbdc6cc50bfc67ba95..a40e5db9f1b355b4e9217167408121fe0d5e35e8 100644 GIT binary patch delta 283 zcmX@YxRFV*Gr-TCmrII^fq{Y7)59eQNE?7K3p0>hs`F&aL`8*q^#Gp`SN8%RZCwLx zJp*lBLm)#-&p=Dp(7?bz!@xirh(KJB)TLvdf{YNLX`@YppWXa6-5Yl$9rSz|D%&otuw|X{!sBap{QTL`8*qp#Yx{SN8%REgb_5 z9Rnb#t!oHGuk}Lr0#&h=1o;IsG)NTOX9@Z85h!5q>Eak-aXL9cf^{*2sD^YShhs%{FVdgvd$@?2>^m`EcXBa diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconList.imageset/iconList@3x-1.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/iconList.imageset/iconList@3x-1.png index c0e43ddeb26b29951ec652d2cfdada64e83cbd4d..e0b3a0ae32445e754bbbedf8efec3714a61a0749 100644 GIT binary patch delta 406 zcmV;H0crmK0jmQciBL{Q4GJ0x0000DNk~Le0000;0000;1Oos70H?#Qbdez-e=Sf< zR7FQ{Oz`yd^Yi!e^!M`h_wn=e^7Quc^Y!oZ_wn=f@$~lZ_y6zj@ACBZ@$>a_65sj& z000hjQchCF6XV2}c}R|O!7ecn5) zAQdFZ`tIFZ5Pk0*4xj*(WCPL-e+ xYWE$04m}G(g9!taexOvMO+XQahtRN28e3Lp=LTb2)LyoL9tN~D>yI$Qo(lf1`x$jY>X9v!;)j&yQd&J z5=UUZ0vW;l?%hjZfbp!umkKx`(Zhr@f+s)~3E)dA6CjE1709}IxD**cY#crnhXg^13pU_fJpxhzEF)}E!U{HkB`e=qfT%Vcf%zO-VBpW31<-6RfG-s+fEE}E zgbECziXKKng%~)IhrNUphd9!2;%J323I;0x03^yCOz>mkK>z>%07*qoM6N<$f=IWk AdjJ3c delta 233 zcmZ3@{GU;=Gr-TCmrII^fq{Y7)59eQNJoJ%3p0>B)fQtoQBk2@D8MJg)xE&ys#r^c{DK({tS?Al>3`({6sYoaaSVw#oSY!Rx;R0kr%91{ zhN$d;EfW>W9yBb9GBFWwF>HIp(0HONvVn=s;g;z1tPMIm4QE0aq8qt26jr7&ePV6c zqUCp$>BKyiPmXei_D5IVYRri@+Q8ws=V6B}Lo1J)@Xd@aS>KI|HOown_AR>+Xu#!m eP$MCMfr0ts&f1#^3id!}FnGH9xvXhet2EUL`8*ql>na*SN8%REjc1 z%X*d#jTQ&kR(LuHOBQMwF=!>--dk;a!gq6_rdPv`3a*Z#LkpMj%CM|iG+_aU$Pq3k zHwP__;BtmQ9apaiMhl(DHRbut7qtsmo~2C?^x0kho`FqbwduZ)1B^?=A9O!pTcN~Q zH((?~X-uS@o_$rjcgViOqrRT1e!YN_*geGpTglBg+ z7p?u6>bGcB)fQtoQBk2@D8MJg)xE$+TgOlf zgbcKF4YYL)|3`^!1gc^!3GxeOIIzATfu;YI3s9iS)5S3);&5_;1nc4ik)9?+<{6^0 z2ewR9D0|SbD9Xe{z{Rlb5kupNuE+)^HiuiH)3Y|{@HCtWVTf+z)=*fP#`KA`VT+dE zRi+d3SUx$*8QLFRd8;ue-e?1dgTe~DWM4f&$~;f diff --git a/NADA-iOS-forRelease/Resouces/Storyboards/Main/Front.storyboard b/NADA-iOS-forRelease/Resouces/Storyboards/Main/Front.storyboard index 60540dd3..e0db3e03 100644 --- a/NADA-iOS-forRelease/Resouces/Storyboards/Main/Front.storyboard +++ b/NADA-iOS-forRelease/Resouces/Storyboards/Main/Front.storyboard @@ -32,10 +32,10 @@ - - + + + @@ -87,8 +40,7 @@ - - + @@ -97,14 +49,9 @@ - - - - - diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift index 6d497294..47d66f55 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift @@ -13,21 +13,49 @@ import AuthenticationServices class LoginViewController: UIViewController { - @IBOutlet weak var kakaoLogin: UIButton! - @IBOutlet weak var appleLogin: UIButton! + // MARK: - IBOutlet Properties + @IBOutlet weak var loginProviderStackView: UIStackView! // MARK: - View Life Cycle override func viewDidLoad() { super.viewDidLoad() + setUI() // FIXME: - 서버 연결 테스트, 추후 위치 수정 필요 // getUserIDFetchWithAPI(userID: "nada") // getUserTokenFetchWithAPI(userID: "nada") } - // MARK: - IBAction Properties - // 카카오톡으로 로그인 버튼 클릭 시 - @IBAction func kakaoLoginButton(_ sender: Any) { + // MARK: - Functions + func setUI() { + let kakaoButton = UIButton() + kakaoButton.setImage(UIImage(named: "kakao_login_large_wide"), for: .normal) + kakaoButton.addTarget(self, action: #selector(kakaoSignInButtonPress), for: .touchUpInside) + loginProviderStackView.addSubview(kakaoButton) + + kakaoButton.translatesAutoresizingMaskIntoConstraints = false + NSLayoutConstraint.activate([ + kakaoButton.topAnchor.constraint(equalTo: loginProviderStackView.topAnchor), + kakaoButton.leadingAnchor.constraint(equalTo: loginProviderStackView.leadingAnchor), + kakaoButton.trailingAnchor.constraint(equalTo: loginProviderStackView.trailingAnchor), + kakaoButton.heightAnchor.constraint(equalToConstant: 48) + ]) + + let authorizationButton = ASAuthorizationAppleIDButton(type: .signIn, style: .black) + authorizationButton.addTarget(self, action: #selector(appleSignInButtonPress), for: .touchUpInside) + loginProviderStackView.addSubview(authorizationButton) + + authorizationButton.translatesAutoresizingMaskIntoConstraints = false + NSLayoutConstraint.activate([ + authorizationButton.leadingAnchor.constraint(equalTo: loginProviderStackView.leadingAnchor), + authorizationButton.trailingAnchor.constraint(equalTo: loginProviderStackView.trailingAnchor), + authorizationButton.bottomAnchor.constraint(equalTo: loginProviderStackView.bottomAnchor), + authorizationButton.heightAnchor.constraint(equalToConstant: 48) + ]) + } + + @objc + func kakaoSignInButtonPress() { if AuthApi.hasToken() { // 유효한 토큰 존재 UserApi.shared.accessTokenInfo { (_, error) in if let error = error { @@ -46,13 +74,21 @@ class LoginViewController: UIViewController { } } - // Apple로 로그인 버튼 클릭 시 - @IBAction func appleLoginButton(_ sender: Any) { + @objc + func appleSignInButtonPress() { + let appleIDProvider = ASAuthorizationAppleIDProvider() + let request = appleIDProvider.createRequest() + request.requestedScopes = [.fullName, .email] + let authorizationController = ASAuthorizationController(authorizationRequests: [request]) + authorizationController.delegate = self + authorizationController.presentationContextProvider = self + authorizationController.performRequests() } + } -// MARK: - Extensions +// MARK: - KakaoSignIn extension LoginViewController { // 메인 화면으로 전환 함수 func presentToMain() { @@ -67,7 +103,7 @@ extension LoginViewController { print(error) } else { print("loginWithKakaoTalk() success.") - + // FIXME: - 토큰으로 변경됬을 경우를 일단 대비 _ = oauthToken @@ -123,7 +159,38 @@ extension LoginViewController { loginWithWeb() } } +} + +// MARK: - AppleSignIn +extension LoginViewController: ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding { + func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor { + return self.view.window! + } + // Apple ID 연동 성공 시 + func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { + switch authorization.credential { + // Apple ID + case let appleIDCredential as ASAuthorizationAppleIDCredential: + + // 계정 정보 가져오기 + let userIdentifier = appleIDCredential.user + let fullName = appleIDCredential.fullName + let email = appleIDCredential.email + + print("User ID : \(userIdentifier)") + print("User Email : \(email ?? "")") + print("User Name : \((fullName?.givenName ?? "") + (fullName?.familyName ?? ""))") + + default: + break + } + } + + // Apple ID 연동 실패 시 + func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { + // Handle error. + } } // MARK: - Network From 3b42fd1330a9450a1278dd2348f039f468e2f21e Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Tue, 21 Dec 2021 12:14:57 +0900 Subject: [PATCH 4/5] =?UTF-8?q?[FEAT]=20#167=20-=20=EC=95=A0=ED=94=8C=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EA=B5=AC=ED=98=84=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Resouces/Constants/UserDefaults.swift | 1 + .../Login/LoginViewController.swift | 26 +++++++++---------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift b/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift index 0bd3cfcd..f0628d1d 100644 --- a/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift +++ b/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift @@ -12,5 +12,6 @@ extension Const { static let darkModeState = "darkModeState" static let accessToken = "accessToken" static let refreshToken = "refreshToken" + static let userID = "userID" } } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift index 47d66f55..0c85a460 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift @@ -54,6 +54,14 @@ class LoginViewController: UIViewController { ]) } + // 메인 화면으로 전환 함수 + func presentToMain() { + let nextVC = UIStoryboard(name: Const.Storyboard.Name.tabBar, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.tabBarViewController) + nextVC.modalPresentationStyle = .overFullScreen + self.present(nextVC, animated: true, completion: nil) + } + + // 카카오 로그인 버튼 클릭 시 @objc func kakaoSignInButtonPress() { if AuthApi.hasToken() { // 유효한 토큰 존재 @@ -74,6 +82,7 @@ class LoginViewController: UIViewController { } } + // 애플 로그인 버튼 클릭 시 @objc func appleSignInButtonPress() { let appleIDProvider = ASAuthorizationAppleIDProvider() @@ -90,13 +99,6 @@ class LoginViewController: UIViewController { // MARK: - KakaoSignIn extension LoginViewController { - // 메인 화면으로 전환 함수 - func presentToMain() { - let nextVC = UIStoryboard(name: Const.Storyboard.Name.tabBar, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.tabBarViewController) - nextVC.modalPresentationStyle = .overFullScreen - self.present(nextVC, animated: true, completion: nil) - } - func loginWithApp() { UserApi.shared.loginWithKakaoTalk {(oauthToken, error) in if let error = error { @@ -104,9 +106,6 @@ extension LoginViewController { } else { print("loginWithKakaoTalk() success.") - // FIXME: - 토큰으로 변경됬을 경우를 일단 대비 - _ = oauthToken - UserApi.shared.me {(user, error) in if let error = error { print(error) @@ -130,9 +129,6 @@ extension LoginViewController { } else { print("loginWithKakaoAccount() success.") - // FIXME: - 토큰으로 변경됬을 경우를 일단 대비 - _ = oauthToken - UserApi.shared.me {(user, error) in if let error = error { print(error) @@ -181,6 +177,8 @@ extension LoginViewController: ASAuthorizationControllerDelegate, ASAuthorizatio print("User ID : \(userIdentifier)") print("User Email : \(email ?? "")") print("User Name : \((fullName?.givenName ?? "") + (fullName?.familyName ?? ""))") + postUserSignUpWithAPI(request: userIdentifier) + presentToMain() default: break @@ -235,6 +233,8 @@ extension LoginViewController { 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) UserDefaults.standard.set(tokenData.refreshToken, forKey: Const.UserDefaults.refreshToken) From 62582432c545e6bfb5df013539db4db5eda0842a Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Tue, 21 Dec 2021 13:22:23 +0900 Subject: [PATCH 5/5] =?UTF-8?q?[FEAT]=20#167=20-=20=EC=95=A0=ED=94=8C=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EC=9D=B4=EB=AF=B8=EC=A7=80?= =?UTF-8?q?=EC=99=80=20=EC=8A=A4=ED=94=8C=EB=9E=98=EC=8B=9C=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EC=B2=98=EB=A6=AC?= =?UTF-8?q?=EB=8A=94=20=EC=9A=B0=EC=84=A0=20=EC=A3=BC=EC=84=9D=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=ED=91=9C=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppleLogin.imageset/AppleLogin-1.png | Bin 0 -> 2891 bytes .../AppleLogin.imageset/AppleLogin-1@2x.png | Bin 0 -> 3778 bytes .../AppleLogin.imageset/AppleLogin-1@3x.png | Bin 0 -> 4692 bytes .../AppleLogin.imageset/AppleLogin.png | Bin 0 -> 2729 bytes .../AppleLogin.imageset/AppleLogin@2x.png | Bin 0 -> 3539 bytes .../AppleLogin.imageset/AppleLogin@3x.png | Bin 0 -> 4402 bytes .../AppleLogin.imageset/Contents.json | 56 +++++++++++++++++ .../Storyboards/Login/Login.storyboard | 1 + NADA-iOS-forRelease/Sources/AppDelegate.swift | 26 +++++++- .../Login/LoginViewController.swift | 58 ++++-------------- 10 files changed, 93 insertions(+), 48 deletions(-) create mode 100644 NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1.png create mode 100644 NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1@2x.png create mode 100644 NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin-1@3x.png create mode 100644 NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin.png create mode 100644 NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin@2x.png create mode 100644 NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/AppleLogin@3x.png create mode 100644 NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/AppleLogin.imageset/Contents.json 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 0000000000000000000000000000000000000000..5d723ad7a019fcb1e0f1a2fe9abde9d3d39856e4 GIT binary patch literal 2891 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 VM#viE90BYLLftghDc5!+{0BBrPSgMZ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..57c664d28a4bfbc7b9082936f9fae392745d2ef9 GIT binary patch literal 3778 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..65287e20aa8d234a8c43ffae468fb8d765925168 GIT binary patch literal 4692 zcmd5=dsvd$zQ!!Ii{tJ#mZnsWnVFT9c}uZUDV?^D=Q)4w{Rbc4TF+YR`>nO!-}}C6 zP!**^<~W7Y>JQXzK4rX zoU5pu6&iFx5YUSM&Av7K=WVg;mRDRmiOpNKv+7cd!$41h$J7ygRPuTLU_N4aq_T*UQXLg;Bvk|CL zB>H#ek5U4!OW70MIbR!PgL%PV^F%_Famh>D;GaRkH*UWEDIsC5LA`)u$Ao96PZ6`mw!%jSZL_Pi%-?c}byL;Ng$EyvgpUpo&v z^j%kIpKIw7LxldxOTiO1WA8r+ zKd+XFks*ca9n;^|#7qZ~4CT$86eTY!;8t{#r{+^#8@cz+fiU^ah$^raBiIS$2)8L+ zac1;QMaY!W4G#Z0#Xka@z2@lma>zE^F_M0wOqP;$ZOiGM1Y1~^l3RwPNOslz<}XZc zHlLo=RWxa*dR$A-*auzq<9jL*Bpo!hM))+>x{R7OP#_r<=+z0zi&Q9DOeX5 zkUHGyY}Brt9PBNV@bf~~_qXa=&$KcEybioB2k{np;AoaB|G7hvP(o0?lk}0jRvp^2 zA*pu};o&q(zqTtbc8ztnOhnRsqLINIhm!13J_C(MR+~J~D!aKh3XinU4^7K5RHHV6 z9$wbUS+?r|VBzMlbM=Z!eWFvHSpZ3NL~? z({j~0;-}jjnuUkxkEy=hlVLenTVpC?Ffm`!;n?Iw-`Hh%V=b+0gw^c7eZ+kYuMZ$BB zaEv5YqinrS0+}Te?R>rRC9o`pr;T)0M^0&^Z?W*cgQ;gGbl;62uo_T(!kU;Z z^2U^5TE27SkAh1nSv~g-_0cLqsJ6wz%7+-3Z}*`|X*?(g>-A+~fNp$;30?UW8pPZS`jVn47fFX0>q>Y}4KPLu5NS>Phd^BA%Oa~j5 z{_=_oSIzA)GBzoHDnj|_-?b5cBn(wn1c*_ONRn%(Lz#R8UeYd+wR)}gL~Q6Ok+!wj zQ8vzLIx^BF`K2ttpETYKCzrS%+KZ|5&QSV^tL#S{^}C1O)x{0P5Azum-3JTO70*XP zowB~8px-H|VSsM(;Pa!I5mY#UGR9oZX#fx_lijC_Qui6X|I1@C2WoIT`BAA+H&N4VoL4kbsIYUFQ1D7Nm&d*qiK!)P))jR9ndqnN*%RK3;&j!mjxlAzI5 zb5#iah9~Apn=(`Z;#8M={g)$Yvau*I!rq$$Zfx~-x!6b5AbGKxy-`z=F`CoM#G>%5 z4NL$F$rw>}pIa|D5-Go)A6?k>db^uo9znrFA;p{vrsh`jn&P=M$*EJPB$@W2fvZX6 z#FnTfQeKvI(gToNRm6<~wl@UVS*W9P{t%_<~uX*JrJm>SNra3f-&}S{oZbey0tG(%|A}b6xnf` zPnic*$Ec&9Q_vo4ME zBgkL+I1ZSq6n+*&w%zWMIsRFa>AFw(=^YoqGZP;+x~%5lyIKh}fzdTh$-3L;XAq%z ze{0d}L6q^(cC1b0v>_yGO3j{!$0X1Kz3BPHDpnHliEdrn#&w$CO>MJ@2Buog8voc4 zN>#s%qpb#L3lI{Yo?FPJAaqCZMAR`T*i>D(#hGK9aZujVfGfjBX)``P&WRBE=$k~S z_j;X*P2JsW$sT`lvrP;~piQ6kr+Pm_ts!dOPy>W1{3tFzIwL{8$+Up|hIlujd#6IZ zWXq}Yfg9l~xMwX_lUw;mz~|`#zYAm63Ny8z|%ZQwgr6wN7Sm>hgtv!v0n z$_TD$KTX3{8?Wzo6-oKYi=#GBnVaFjfp2GEMh9ggB>Iuk{`*zX(Q# zi`8N(CHhYMFLE9VU0m4bOJ2@abVdU9TN}I8Ff$cf--K~fxpo|G-^7a(!pHwIrNy$KO%2j?~cndk^ri&wB`HXoZdGc*p@b)drEO@))b4qEMR0r%Ocxg438)2fFH zBKonb)onrQ6@ggb4ubKz6n7wrQ+>7H$;YKCqlV`f9gxCI*{jMDQL6bf#;K-5eNW@D zQ+7~^P#+u#R>@0KN7a7KkFX$b*~@j@J`RNveJ?o%k3$)E(xa@ShF8Iux6o|XkgO~q zH_(}2{)!pXe9FLwKeA8l4j?burBFi|QV(&_+$d~b>E%2pRDd1`(3!-uUbB6}dVnZ$ zyX%ue5*+otDZniG)hjT*I^6r)9NVj~c&o|YEtqY!2HSZ{k{)UPEZ4?sLzgG4gAHsV zilC#NT@_gU;qly%bFGYlVt92M|15xJzSTwaLLbD(=;0Y3GL)ZkN(`Jt?AIHtk1GdA z@H~Q6!AG)(qsB0D0$bHI7C|6BIx)S{6#z`;H4W16*<>P+LYhNx(G@FM7nb2q&6GYj z(BD})bJcB-VjW$|QGvA&c#z5=NG|@j*6P5=)TPNOI;;C;E zw^=M)`;#l@vU4P@ZKLd^1WKGame!U*vvl4)uNeJdBT0yB^LAt2{mTF47lY6E=pk7d zTRW13gcIakE_*^SMq@M#6iT4cIcn-YXSFy+$RboS1th&TV!~JCG#@x6Mkw~#Sm}8N z>dwh3dgDzDJR8^mq?nW{WsKY%mnFRocI-}_al;-#E`d9;$5=p1?Kn*6y(uCaNE3SzVXR5DlQ41o2aR~; zQ3K7R#~)dS21R9zFuCfRn|0cn%g}_VIJLK+E0oATHQ#BcpO{hS2=pxPcY~9q9(uYk z7ib77yY+B{8qh;U=Vf8R#|CjpQ1Pq#LM>2d#%|_{ycKBbbJ7MZR;{|@M8CJxXvfvb zj_~@mx+3JkKcQ#)i9L96YcbH_Y&&u`Jtbun4Slq%bTL@YR{mT-A6H?!n+?)CcCU{t zQ4I3|vw3@_3mQ{Ez#Ugy_R+3pq-H%iYl%cBKb*#`7ZNjg{Dw5yfCPGmCyMi-GyOLE z0XcI)LgWzD{rP34KP+0{9rNgfBvH_4znsVMQQnpypbr+6cK9(}TP{D2O4#tf0?u#5 z`mRFsQW?`%?yCLC6G2BLblvH=vi<4?W(&tCK7_Lf_cJdsYi1DjT^GtMX zgSj+nPy22c-|@13B}NQ^Q`Gg#m}-hK&^VhXlTiJC9xKDGde6fo>+dECth7(9ll&-v z{0&@R={(ZYuucPbGuL)~{0=-Id~n25OtwRhG2cAG|Noi)>_hLrocR&IQA~dVvns91 zAx(Hqvcuq9zb8dGE;rmC;9b8YktTCw;Fc}TqEBD+-+Fswe0M7lE;R)=4ln9Xk1jSW zS~35%_Ls`=kF~I1!+5@%{=N^;v#i#v$Qb{%)7xz&-`#PPzrN&# ziI2Zh=v`E#7{6s|4_cR2AAGJEyp{h6T#D4LaeXvtTSR(TL1Ap%U9Ih5&=j`KKiH4H IdC#%`0;W@%0ssI2 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..77336e32a95cb979003cd426b85dd86b68e5b2c0 GIT binary patch literal 2729 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 S8~{mzKz3GFFV`V%#s3FF0V0zC literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c2c21d34f31ff40f817d44a0ee3db734220a40ee GIT binary patch literal 3539 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 literal 0 HcmV?d00001 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)