From d29cfd706b6b5e8bf87611242539dd82a560b7b0 Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Mon, 20 Mar 2023 13:18:59 +0900 Subject: [PATCH 1/7] =?UTF-8?q?[add]=20#116=20-=20=EC=86=8C=EC=85=9C=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20VC=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=EB=B0=8F=20=EC=95=A0=ED=94=8C,=20=EC=B9=B4=EC=B9=B4=EC=98=A4?= =?UTF-8?q?=20=EC=95=84=EC=9D=B4=EC=BD=98=20literal=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS.xcodeproj/project.pbxproj | 4 +++ .../Global/Literal/ImageLiterals.swift | 2 ++ .../ic_apple.imageset/Apple.png | Bin 0 -> 390 bytes .../ic_apple.imageset/Apple@2x.png | Bin 0 -> 736 bytes .../ic_apple.imageset/Apple@3x.png | Bin 0 -> 1045 bytes .../ic_apple.imageset/Contents.json | 23 ++++++++++++++ .../ic_kakao.imageset/Contents.json | 23 ++++++++++++++ .../ic_kakao.imageset/Kakao.png | Bin 0 -> 885 bytes .../ic_kakao.imageset/Kakao@2x.png | Bin 0 -> 2114 bytes .../ic_kakao.imageset/Kakao@3x.png | Bin 0 -> 3640 bytes .../SignIn/VC/SignInSocialLoginVC.swift | 29 ++++++++++++++++++ 11 files changed, 81 insertions(+) create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Apple.png create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Apple@2x.png create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Apple@3x.png create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Contents.json create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Contents.json create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Kakao.png create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Kakao@2x.png create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Kakao@3x.png create mode 100644 Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 32d003c4..499336f1 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ A3BC2F3F2964706100198261 /* UploadedCourseInfoCVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BC2F3E2964706100198261 /* UploadedCourseInfoCVC.swift */; }; A3BC2F4129667A0D00198261 /* NicknameEditorVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BC2F4029667A0D00198261 /* NicknameEditorVC.swift */; }; A3BC2F432966A93100198261 /* CourseDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BC2F422966A93100198261 /* CourseDetailVC.swift */; }; + A3E55BA029C815B10000D85D /* SignInSocialLoginVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3E55B9F29C815B10000D85D /* SignInSocialLoginVC.swift */; }; A3F67AE2296D33AC001598A2 /* MyPageDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3F67AE1296D33AC001598A2 /* MyPageDto.swift */; }; A3F67AEA296E4936001598A2 /* ActivityRecordInfoDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3F67AE9296E4936001598A2 /* ActivityRecordInfoDto.swift */; }; CE09037D296E9ED900BEA710 /* ScrapCourseResponseDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE09037C296E9ED900BEA710 /* ScrapCourseResponseDto.swift */; }; @@ -155,6 +156,7 @@ A3BC2F3E2964706100198261 /* UploadedCourseInfoCVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadedCourseInfoCVC.swift; sourceTree = ""; }; A3BC2F4029667A0D00198261 /* NicknameEditorVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NicknameEditorVC.swift; sourceTree = ""; }; A3BC2F422966A93100198261 /* CourseDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetailVC.swift; sourceTree = ""; }; + A3E55B9F29C815B10000D85D /* SignInSocialLoginVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignInSocialLoginVC.swift; sourceTree = ""; }; A3F67AE1296D33AC001598A2 /* MyPageDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageDto.swift; sourceTree = ""; }; A3F67AE9296E4936001598A2 /* ActivityRecordInfoDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityRecordInfoDto.swift; sourceTree = ""; }; CE09037C296E9ED900BEA710 /* ScrapCourseResponseDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrapCourseResponseDto.swift; sourceTree = ""; }; @@ -993,6 +995,7 @@ isa = PBXGroup; children = ( CEC2A68629629B9B00160BF7 /* SignInVC.swift */, + A3E55B9F29C815B10000D85D /* SignInSocialLoginVC.swift */, ); path = VC; sourceTree = ""; @@ -1329,6 +1332,7 @@ CEC2A6852961F92C00160BF7 /* CustomButton.swift in Sources */, CE6B63D3296725E6003F900F /* CourseListCVC.swift in Sources */, CEF3CD9A296DB305002723A1 /* CourseDetailResponseDto.swift in Sources */, + A3E55BA029C815B10000D85D /* SignInSocialLoginVC.swift in Sources */, CE29D584296416D800F47542 /* caculateStatusBarHeight.swift in Sources */, CE66560C295D928300C64E12 /* setRootViewController.swift in Sources */, CE6655D9295D871B00C64E12 /* URL+.swift in Sources */, diff --git a/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift b/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift index 8e418060..cbfe8d49 100644 --- a/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift +++ b/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift @@ -10,6 +10,7 @@ import NMapsMap enum ImageLiterals { // icon + static var icArrowBack: UIImage { .load(named: "ic_apple") } static var icArrowBack: UIImage { .load(named: "ic_arrow_back") } static var icArrowMaximize: UIImage { .load(named: "ic_arrow_maximize") } static var icArrowPageback: UIImage { .load(named: "ic_arrow_pageback") } @@ -23,6 +24,7 @@ enum ImageLiterals { static var icEdit: UIImage { .load(named: "ic_edit") } static var icHeartFill: UIImage { .load(named: "ic_heart_fill") } static var icHeart: UIImage { .load(named: "ic_heart") } + static var icHeart: UIImage { .load(named: "ic_kakao") } static var icMapDeparture: UIImage { .load(named: "ic_map_departure") } static var icMapLocation: UIImage { .load(named: "ic_map_location") } static var icMapPoint: UIImage { .load(named: "ic_map_point") } diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Apple.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Apple.png new file mode 100644 index 0000000000000000000000000000000000000000..cfa0cccbd327da6c1e612a727df20549bda5b545 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoY!3HEd6;(2T6lZ})WHAE+w=f7ZGR&GI0Tg5` z4sv&5Sa(k5C6L3C?&#~tz_78O`%fY(P)^#@#WAFUaqrYd!6pM9hGt;{CS?OAzXs_8 zY!*z)FIYA;S~2co^b0UMz?-D>l}~$0Qq`Z>K5M3*)0T-OurdiWbO^>8t#h98Kw2n8 zME0A^0dpJXKWgmv11?r61U!(|lHy~T8z=sLQUrH}*~Zh>jY}h3rZ+tbUa`<3NPMf+ z@rgkyR`-KqG~*i|XLLJ0pK;~btQjkA`k$EFRHSF-xWrw_aiQVl-iMxFwolvev~;tl z(S*R6O@^KvMsmsKwchjegft&YO}gS*#4gF%_b1E8ley?z#_f+ks{K67QjDyG?>;u4 zARM{bhG~j%{e*>o^kJ&n{_h0_8-u5-pUXO@geCyn&yC6e literal 0 HcmV?d00001 diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Apple@2x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Apple@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..851c5d1a5810e2b65a0b80394ea18c994b5383ff GIT binary patch literal 736 zcmV<60w4W}P)G1Dg&=1vV8VsX*$0qyp3drUID?3>7T9qXP^+tyY$Ncbegw z+3}3Dy16&E_p^HjKKbMoBFfo*vz=jTaHp4STY6)Gslc7h*zRbb98RvL+WrR3q`;RQ-IztrMui>3Q)6|c_%a5Hw+}y#P)TxVmqJB zW{((13=wO#OYZ#7F$4%R41k&)RyL>;_vnGG;?Au<_+@C8)(yYgc)mY%??u$TYoo%k zkQk=@GmkIU7rteapPd=Le`%wjv6o&qL2K&A4cnEoTk22Ec7ZYAhUOHPD-3}fxS%x1 zef{fPov4Y)0%>sADVOx)LP!=k1Zv-DL$lEO*%eN6#OIp#j8b!G-R!72(`*qJ*&Kg# zIcX!2LaKOeaneNOh)-p4(nOphE|0tCEDcS>;B)>!)>cPNM25ILSsg=HJB~uiB2KK1 znut-dt^s6LM@_^AagpRJw>WAd9uOZ>GL-U22y-%&bTkna;v)h&bD35Vu3`~;ato4G zE;Wa)CDy!a9+{OUq)Wtqq=N`4$Wy{mi)V@C6h6N1Ru9#YaE=wyqWoC?v>ZE3iAg~A zLflk~<*<^FihVQ}yy>d-0QeVa;Ef9FNXRJMA#RS*S~M_?gquj0h|4&0lMbtDkHL-B zuU?ldZljT~3OUIo3eL5nL9fitH559mep#y?z2Fg9Q5gQ1;vcz+`iiDj^p9~#iY6+H>YLatKnxv<>N)2 SariX=0000VP)Z6&vF%{dA?O`&R z{K7jj!5c%aYd&K;@o!aZo3@5Z;P#&r)?B`7DOa$4f}7w<-5bsK91U^_u{rH!3lAVE zk9!Ij-ze+v{5@|1xgKdtc2;a9xpYWf-7@-~DTS$Hel)Rs16I_X7vB&O`^49K(^K91 z%q;Ee9FxfPG>>?VIkB*2yVS(2P9m{DSNyU-yhw1rXcH<}B=12h#Lp9pblFrOD1A#V z_@$DXkob4gR3J3REitG-8dPxcsTQ+Hu{I(Peq^eEWoemC90fNm9OfpnRoW)f@?$v<*y zq|5ryn<1%^JETeNUU9QXT+te7^>RCwb^i!Wx&}zrI7I9?=Oq)x4J6`JZG7_JLexysL9~YJn^tR0Hf0?28b`{$- zjtzU%0}Yqq^uknsrvI3f7#d{vC^>(-B6nc9_@}PjMVoT#MBBx8hw3dcRH*$b4f2ha za_WFj?y?t+x2`CLD}%_L$X?K^2fX;d#nYzf067mU_v+tzn^TUravhW3rJ2LorldsN P00000NkvXXu0mjfbQ99Z literal 0 HcmV?d00001 diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Contents.json b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Contents.json new file mode 100644 index 00000000..4d141d0c --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_apple.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Apple.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Apple@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Apple@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Contents.json b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Contents.json new file mode 100644 index 00000000..dd12fd34 --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Kakao.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Kakao@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Kakao@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Kakao.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Kakao.png new file mode 100644 index 0000000000000000000000000000000000000000..3d89ffde2a90b8b721260daec9f88d17fcf17f6a GIT binary patch literal 885 zcmV-*1B(2KP)y!_9i@l@BsJ%`T`Okz$GhgeAZR3na_Nqvv$Hd|R4VzkTFo(nqb3gTVk4PM zN~{^6e;rbztZ{yRZtreS+#RpMwzW6+W21F4n~AEbi?#D5V62<9F@srR5Zt=;Xpz#JUTiG zMQ6EtX7yRB-hp3CBz}QEMekxAP>gFwN2jj^26_h&j5{PASuW^c&-6cu+y93_Hk%Di zU&S9vTuyGlt_(a6UXww8PjR?h)70l{k+`T~B%BBR$;rt-l}bfN1AT@^fowxuC1rLW zSPUVgBZW44e!T-*jhRHSG9bGWIPfMI0_h+KQb?*KYORksuUf6TY*9^|bUMwVFK}LB zettg8=kp3BO~u8!In<)->+9~};bEd&E+?^I5_6u}ObC%Hu*HqIuB)>UZFqWm8o6WA zYj;s@*l@Zy)csT{6(C$qEOrIfeBZCYVHr-UNQCP2^mGmPtg*PbSYKILY2cG4!$>g` z@(!^MhtcK4%TA$Ca4#<}-A1F~qU?!F^9=00000 LNkvXXu0mjf6jG8w literal 0 HcmV?d00001 diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Kakao@2x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Kakao@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8540a6e3adffb044c240db956baa6dd51ba17094 GIT binary patch literal 2114 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 KMNUMnLSTYpVCy~r literal 0 HcmV?d00001 diff --git a/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift new file mode 100644 index 00000000..452a7a6b --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift @@ -0,0 +1,29 @@ +// +// SignInSocialLoginVC.swift +// Runnect-iOS +// +// Created by 몽이 누나 on 2023/03/20. +// + +import UIKit + +class SignInSocialLoginVC: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destination. + // Pass the selected object to the new view controller. + } + */ + +} From 13205de1f1faa7b7aea314602dbf25fafaabbcbe Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Mon, 20 Mar 2023 15:06:05 +0900 Subject: [PATCH 2/7] =?UTF-8?q?[Feat]=20#116=20-=20SignInSocialLoginVC=20U?= =?UTF-8?q?I=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Global/Literal/ImageLiterals.swift | 4 +- .../ic_kakao.imageset/Kakao.png | Bin 885 -> 348 bytes .../ic_kakao.imageset/Kakao@2x.png | Bin 2114 -> 569 bytes .../ic_kakao.imageset/Kakao@3x.png | Bin 3640 -> 797 bytes .../Global/Supports/SceneDelegate.swift | 2 +- .../SignIn/VC/SignInSocialLoginVC.swift | 84 +++++++++++++++--- 6 files changed, 75 insertions(+), 15 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift b/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift index cbfe8d49..ae8c8e9d 100644 --- a/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift +++ b/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift @@ -10,7 +10,7 @@ import NMapsMap enum ImageLiterals { // icon - static var icArrowBack: UIImage { .load(named: "ic_apple") } + static var icApple: UIImage { .load(named: "ic_apple") } static var icArrowBack: UIImage { .load(named: "ic_arrow_back") } static var icArrowMaximize: UIImage { .load(named: "ic_arrow_maximize") } static var icArrowPageback: UIImage { .load(named: "ic_arrow_pageback") } @@ -24,7 +24,7 @@ enum ImageLiterals { static var icEdit: UIImage { .load(named: "ic_edit") } static var icHeartFill: UIImage { .load(named: "ic_heart_fill") } static var icHeart: UIImage { .load(named: "ic_heart") } - static var icHeart: UIImage { .load(named: "ic_kakao") } + static var icKakao: UIImage { .load(named: "ic_kakao") } static var icMapDeparture: UIImage { .load(named: "ic_map_departure") } static var icMapLocation: UIImage { .load(named: "ic_map_location") } static var icMapPoint: UIImage { .load(named: "ic_map_point") } diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Kakao.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_kakao.imageset/Kakao.png index 3d89ffde2a90b8b721260daec9f88d17fcf17f6a..93a99d22f1fd8dd36f23bfe7f0bf102ff86aeb53 100644 GIT binary patch delta 307 zcmV-30nGmO2HXN6iBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)g%+3Ig)%mkN7iPjx@9#n^M0E^(AyE7u`w}5kk}5+c+6W`qiDqjUiMz() zQrHOt*lVEsXdIgfndpM%N`-}Re=QQ8P%qiH`odTUJ>+$>tyz^aAJ36lp_vD_N_i;k zwHw@M%7i?j2<^3pCZt%$1De;9eaN;+%t>i#`Z42;IVt@0qZ&>ujQIXmSP9SKVXx$C zNy$cEuP@{yc81mr7UI-Als0wEG*TnBQ2+;;yGZ3!Z--kkWEQj!i2wiq2>?k&PDHLk FV1ikmfjR&H delta 848 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 delta 3624 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 Date: Mon, 20 Mar 2023 23:40:32 +0900 Subject: [PATCH 3/7] =?UTF-8?q?[Feat]=20#116=20-=20=EC=9E=90=EC=9E=98?= =?UTF-8?q?=ED=95=9C=20=EB=B0=B0=EC=B9=98=20=EB=B0=8F=20tintColor=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SignIn/VC/SignInSocialLoginVC.swift | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift index 32e383ff..12f1a326 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift @@ -11,6 +11,10 @@ import SnapKit import Then final class SignInSocialLoginVC: UIViewController { + + // MARK: - Properties + + let screenWidth = UIScreen.main.bounds.width // MARK: - UI Components @@ -24,24 +28,26 @@ final class SignInSocialLoginVC: UIViewController { $0.contentMode = .scaleAspectFill } - private let kakaoLoginButton = UIButton(type: .system).then { + private lazy var kakaoLoginButton = UIButton(type: .system).then { $0.setTitle("카카오로 로그인", for: .normal) $0.titleLabel?.font = .b3 $0.setTitleColor(.black, for: .normal) $0.setBackgroundColor(UIColor(hex: "FEE500"), for: .normal) $0.layer.cornerRadius = 7 $0.setImage(ImageLiterals.icKakao, for: .normal) - $0.imageEdgeInsets = .init(top: 0, left: 0, bottom: 0, right: 200) + $0.imageEdgeInsets = .init(top: 0, left: 0, bottom: 0, right: self.screenWidth * 0.5) + $0.tintColor = .black } - private let appleLoginButton = UIButton(type: .system).then { + private lazy var appleLoginButton = UIButton(type: .system).then { $0.setTitle("Apple로 로그인", for: .normal) $0.titleLabel?.font = .b3 $0.setTitleColor(.white, for: .normal) $0.setBackgroundColor(.black, for: .normal) $0.layer.cornerRadius = 7 $0.setImage(ImageLiterals.icApple, for: .normal) - $0.imageEdgeInsets = .init(top: 0, left: 0, bottom: 0, right: 200) + $0.imageEdgeInsets = .init(top: 0, left: 0, bottom: 0, right: self.screenWidth * 0.5) + $0.tintColor = .white } override func viewDidLoad() { From 6e93fbd1754d26b513bfd8472163bd308ff8fb65 Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Tue, 21 Mar 2023 00:18:23 +0900 Subject: [PATCH 4/7] =?UTF-8?q?[Feat]=20#116=20-=20=EC=95=A0=ED=94=8C=20?= =?UTF-8?q?=EC=86=8C=EC=85=9C=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS.xcodeproj/project.pbxproj | 4 ++ .../SignIn/VC/SignInSocialLoginVC.swift | 61 +++++++++++++++++++ .../Runnect-iOS/Runnect-iOS.entitlements | 10 +++ 3 files changed, 75 insertions(+) create mode 100644 Runnect-iOS/Runnect-iOS/Runnect-iOS.entitlements diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 499336f1..1aa0fd01 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -157,6 +157,7 @@ A3BC2F4029667A0D00198261 /* NicknameEditorVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NicknameEditorVC.swift; sourceTree = ""; }; A3BC2F422966A93100198261 /* CourseDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetailVC.swift; sourceTree = ""; }; A3E55B9F29C815B10000D85D /* SignInSocialLoginVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignInSocialLoginVC.swift; sourceTree = ""; }; + A3E55BA529C8AB0A0000D85D /* Runnect-iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Runnect-iOS.entitlements"; sourceTree = ""; }; A3F67AE1296D33AC001598A2 /* MyPageDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageDto.swift; sourceTree = ""; }; A3F67AE9296E4936001598A2 /* ActivityRecordInfoDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityRecordInfoDto.swift; sourceTree = ""; }; CE09037C296E9ED900BEA710 /* ScrapCourseResponseDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrapCourseResponseDto.swift; sourceTree = ""; }; @@ -733,6 +734,7 @@ CE4545C7295D7AF4003201E1 /* Runnect-iOS */ = { isa = PBXGroup; children = ( + A3E55BA529C8AB0A0000D85D /* Runnect-iOS.entitlements */, CE6655AA295D7FAE00C64E12 /* Global */, CE6655A9295D7FAA00C64E12 /* Network */, CE6655A8295D7F7D00C64E12 /* Presentation */, @@ -1509,6 +1511,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOS.entitlements"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; @@ -1541,6 +1544,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOS.entitlements"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; diff --git a/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift index 12f1a326..9920eab4 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift @@ -9,6 +9,7 @@ import UIKit import SnapKit import Then +import AuthenticationServices final class SignInSocialLoginVC: UIViewController { @@ -55,6 +56,34 @@ final class SignInSocialLoginVC: UIViewController { setUI() setNavigationBar() setLayout() + setAddTarget() + } +} + +// MARK: - @objc Function + +extension SignInSocialLoginVC { + @objc func touchUpAppleLoginButton() { + pushToAppleLogin() + } + + @objc func pushToAppleLogin() { + 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: - Methods + +extension SignInSocialLoginVC { + private func setAddTarget() { + self.appleLoginButton.addTarget(self, action: #selector(touchUpAppleLoginButton), for: .touchUpInside) } } @@ -93,3 +122,35 @@ extension SignInSocialLoginVC { } } } + +// MARK: - ASAuthorizationControllerPresentationContextProviding, ASAuthorizationControllerDelegate + +extension SignInSocialLoginVC: ASAuthorizationControllerPresentationContextProviding, ASAuthorizationControllerDelegate { + 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 idToken = appleIDCredential.identityToken! + let tokeStr = String(data: idToken, encoding: .utf8) + + print("User ID : \(userIdentifier)") + print("token : \(String(describing: tokeStr))") + + default: + break + } + } + + /// Apple ID 연동 실패 시 + func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { + print("Apple Login error") + } +} diff --git a/Runnect-iOS/Runnect-iOS/Runnect-iOS.entitlements b/Runnect-iOS/Runnect-iOS/Runnect-iOS.entitlements new file mode 100644 index 00000000..a812db50 --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Runnect-iOS.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.developer.applesignin + + Default + + + From becdf6478b565b1f91daf163fe39cd728681afb1 Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Wed, 22 Mar 2023 20:07:12 +0900 Subject: [PATCH 5/7] =?UTF-8?q?[Feat]=20#116=20-=20KakaoSDK=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runnect-iOS/Podfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Runnect-iOS/Podfile b/Runnect-iOS/Podfile index dbe1d303..e99a0605 100644 --- a/Runnect-iOS/Podfile +++ b/Runnect-iOS/Podfile @@ -10,6 +10,7 @@ target 'Runnect-iOS' do pod 'SnapKit', '~> 5.6.0' pod 'Moya', '~> 15.0' pod 'Then' + pod 'KakaoSDK' # Pods for Runnect-iOS From 9d0cfdda3af9ba4c31b154f7801ea058c5a5992f Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Wed, 22 Mar 2023 23:43:10 +0900 Subject: [PATCH 6/7] [Feat] #116 - pod file --- Runnect-iOS/Podfile | 3 ++- Runnect-iOS/Podfile.lock | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Runnect-iOS/Podfile b/Runnect-iOS/Podfile index e99a0605..9b96f164 100644 --- a/Runnect-iOS/Podfile +++ b/Runnect-iOS/Podfile @@ -10,7 +10,8 @@ target 'Runnect-iOS' do pod 'SnapKit', '~> 5.6.0' pod 'Moya', '~> 15.0' pod 'Then' - pod 'KakaoSDK' + pod 'KakaoSDKCommon' + pod 'KakaoSDKAuth' # Pods for Runnect-iOS diff --git a/Runnect-iOS/Podfile.lock b/Runnect-iOS/Podfile.lock index 9bff01ba..68ed1db5 100644 --- a/Runnect-iOS/Podfile.lock +++ b/Runnect-iOS/Podfile.lock @@ -1,5 +1,14 @@ PODS: - Alamofire (5.6.4) + - KakaoSDKAuth (2.14.0): + - KakaoSDKCommon (= 2.14.0) + - KakaoSDKCommon (2.14.0): + - KakaoSDKCommon/Common (= 2.14.0) + - KakaoSDKCommon/Network (= 2.14.0) + - KakaoSDKCommon/Common (2.14.0) + - KakaoSDKCommon/Network (2.14.0): + - Alamofire (~> 5.1) + - KakaoSDKCommon/Common (= 2.14.0) - Kingfisher (7.4.1) - Moya (15.0.0): - Moya/Core (= 15.0.0) @@ -12,6 +21,8 @@ PODS: - Then (3.0.0) DEPENDENCIES: + - KakaoSDKAuth + - KakaoSDKCommon - Kingfisher (~> 7.0) - Moya (~> 15.0) - NMapsMap @@ -21,6 +32,8 @@ DEPENDENCIES: SPEC REPOS: trunk: - Alamofire + - KakaoSDKAuth + - KakaoSDKCommon - Kingfisher - Moya - NMapsGeometry @@ -30,6 +43,8 @@ SPEC REPOS: SPEC CHECKSUMS: Alamofire: 4e95d97098eacb88856099c4fc79b526a299e48c + KakaoSDKAuth: 8fca87815de22062a23297983f327613b087b8bb + KakaoSDKCommon: 0ce638f7a2e49704943c0b74a087a9f8067bba1c Kingfisher: cd762a593a61b2fbecf7645c00f9a801a3ebfc9c Moya: 138f0573e53411fb3dc17016add0b748dfbd78ee NMapsGeometry: 53c573ead66466681cf123f99f698dc8071a4b83 @@ -37,6 +52,6 @@ SPEC CHECKSUMS: SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 Then: 844265ae87834bbe1147d91d5d41a404da2ec27d -PODFILE CHECKSUM: bec9bfadf42d34524a80ccc0e46829d1fe943ddb +PODFILE CHECKSUM: 7ca7425e8173a3d4a8ec114c9508fba19be6e037 COCOAPODS: 1.11.3 From dbfa549af2929ac548b029f56e1cafef5f4f113d Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Thu, 23 Mar 2023 00:10:35 +0900 Subject: [PATCH 7/7] =?UTF-8?q?[Feat]=20#116=20-=20=EC=B9=B4=EC=B9=B4?= =?UTF-8?q?=EC=98=A4=20=EC=86=8C=EC=85=9C=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runnect-iOS/Podfile | 1 + Runnect-iOS/Podfile.lock | 7 +++- .../Runnect-iOS.xcodeproj/project.pbxproj | 8 +++++ .../Global/Supports/AppDelegate.swift | 11 ++++++ Runnect-iOS/Runnect-iOS/Info.plist | 24 ++++++++----- .../SignIn/VC/SignInSocialLoginVC.swift | 34 +++++++++++++++++++ 6 files changed, 76 insertions(+), 9 deletions(-) diff --git a/Runnect-iOS/Podfile b/Runnect-iOS/Podfile index 9b96f164..3544d927 100644 --- a/Runnect-iOS/Podfile +++ b/Runnect-iOS/Podfile @@ -12,6 +12,7 @@ target 'Runnect-iOS' do pod 'Then' pod 'KakaoSDKCommon' pod 'KakaoSDKAuth' + pod 'KakaoSDKUser' # Pods for Runnect-iOS diff --git a/Runnect-iOS/Podfile.lock b/Runnect-iOS/Podfile.lock index 68ed1db5..ea7f5972 100644 --- a/Runnect-iOS/Podfile.lock +++ b/Runnect-iOS/Podfile.lock @@ -9,6 +9,8 @@ PODS: - KakaoSDKCommon/Network (2.14.0): - Alamofire (~> 5.1) - KakaoSDKCommon/Common (= 2.14.0) + - KakaoSDKUser (2.14.0): + - KakaoSDKAuth (= 2.14.0) - Kingfisher (7.4.1) - Moya (15.0.0): - Moya/Core (= 15.0.0) @@ -23,6 +25,7 @@ PODS: DEPENDENCIES: - KakaoSDKAuth - KakaoSDKCommon + - KakaoSDKUser - Kingfisher (~> 7.0) - Moya (~> 15.0) - NMapsMap @@ -34,6 +37,7 @@ SPEC REPOS: - Alamofire - KakaoSDKAuth - KakaoSDKCommon + - KakaoSDKUser - Kingfisher - Moya - NMapsGeometry @@ -45,6 +49,7 @@ SPEC CHECKSUMS: Alamofire: 4e95d97098eacb88856099c4fc79b526a299e48c KakaoSDKAuth: 8fca87815de22062a23297983f327613b087b8bb KakaoSDKCommon: 0ce638f7a2e49704943c0b74a087a9f8067bba1c + KakaoSDKUser: 2ca18314ce72e6690f76cb1f6f9fbc771d31a803 Kingfisher: cd762a593a61b2fbecf7645c00f9a801a3ebfc9c Moya: 138f0573e53411fb3dc17016add0b748dfbd78ee NMapsGeometry: 53c573ead66466681cf123f99f698dc8071a4b83 @@ -52,6 +57,6 @@ SPEC CHECKSUMS: SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 Then: 844265ae87834bbe1147d91d5d41a404da2ec27d -PODFILE CHECKSUM: 7ca7425e8173a3d4a8ec114c9508fba19be6e037 +PODFILE CHECKSUM: fd71a741af1234cbd39c9117a0768b376c78640a COCOAPODS: 1.11.3 diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 1aa0fd01..52b9a2f1 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -1519,10 +1519,14 @@ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 9K86FQHDLU; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = "Runnect-iOS/Info.plist"; + INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "위치 정보 권한이 필요합니다."; + INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "위치 정보 권한이 필요합니다."; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "위치 정보 권한이 필요합니다."; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UIUserInterfaceStyle = Light; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1552,10 +1556,14 @@ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 9K86FQHDLU; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = "Runnect-iOS/Info.plist"; + INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "위치 정보 권한이 필요합니다."; + INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "위치 정보 권한이 필요합니다."; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "위치 정보 권한이 필요합니다."; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UIUserInterfaceStyle = Light; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/Runnect-iOS/Runnect-iOS/Global/Supports/AppDelegate.swift b/Runnect-iOS/Runnect-iOS/Global/Supports/AppDelegate.swift index 16053ea3..902b8147 100644 --- a/Runnect-iOS/Runnect-iOS/Global/Supports/AppDelegate.swift +++ b/Runnect-iOS/Runnect-iOS/Global/Supports/AppDelegate.swift @@ -8,9 +8,19 @@ import UIKit import NMapsMap +import KakaoSDKAuth +import KakaoSDKCommon @main class AppDelegate: UIResponder, UIApplicationDelegate { + + func scene(_ scene: UIScene, openURLContexts URLContexts: Set) { + if let url = URLContexts.first?.url { + if (AuthApi.isKakaoTalkLoginUrl(url)) { + _ = AuthController.handleOpenUrl(url: url) + } + } + } func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { // 세로방향 고정 @@ -20,6 +30,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { NMFAuthManager.shared().clientId = Config.naverMapClientId + KakaoSDK.initSDK(appKey: Config.kakaoNativeAppKey) return true } diff --git a/Runnect-iOS/Runnect-iOS/Info.plist b/Runnect-iOS/Runnect-iOS/Info.plist index 6e4730da..38c87e54 100644 --- a/Runnect-iOS/Runnect-iOS/Info.plist +++ b/Runnect-iOS/Runnect-iOS/Info.plist @@ -2,6 +2,22 @@ + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLSchemes + + kakao27d01e20b51e5925bf386a6c5465849f + + + + LSApplicationQueriesSchemes + + kakaokompassauth + kakaolink + UIAppFonts Pretendard-Bold.otf @@ -9,14 +25,6 @@ Pretendard-Medium.otf Pretendard-Regular.otf - UIUserInterfaceStyle - Light - NSLocationWhenInUseUsageDescription - 위치 정보 권한이 필요합니다. - NSLocationAlwaysUsageDescription - 위치 정보 권한이 필요합니다. - NSLocationAlwaysAndWhenInUseUsageDescription - 위치 정보 권한이 필요합니다. UIApplicationSceneManifest UIApplicationSupportsMultipleScenes diff --git a/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift index 9920eab4..aa2ff75e 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift @@ -10,6 +10,9 @@ import UIKit import SnapKit import Then import AuthenticationServices +import KakaoSDKAuth +import KakaoSDKUser +import KakaoSDKCommon final class SignInSocialLoginVC: UIViewController { @@ -77,6 +80,36 @@ extension SignInSocialLoginVC { authorizationController.presentationContextProvider = self authorizationController.performRequests() } + + @objc func kakaoLoginButtonDidTap(_ sender: Any) { + // isKakaoTalkLoginAvailable() : 카톡 설치 되어있으면 true + if (UserApi.isKakaoTalkLoginAvailable()) { //카톡 설치되어있으면 -> 카톡으로 로그인 + UserApi.shared.loginWithKakaoTalk {(oauthToken, error) in + if let error = error { + print(error) + } else { + print("카카오 톡으로 로그인 성공") + + _ = oauthToken + /// 로그인 관련 메소드 추가 + + } + } + } else { + + // 카톡 없으면 -> 계정으로 로그인 + UserApi.shared.loginWithKakaoAccount { (oauthToken, error) in + if let error = error { + print(error) + } else { + print("카카오 계정으로 로그인 성공") + + _ = oauthToken + // 관련 메소드 추가 + } + } + } + } } // MARK: - Methods @@ -84,6 +117,7 @@ extension SignInSocialLoginVC { extension SignInSocialLoginVC { private func setAddTarget() { self.appleLoginButton.addTarget(self, action: #selector(touchUpAppleLoginButton), for: .touchUpInside) + self.kakaoLoginButton.addTarget(self, action: #selector(kakaoLoginButtonDidTap), for: .touchUpInside) } }