diff --git a/.swiftlint.yml b/.swiftlint.yml index 621fbcb4..841e9e0c 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -5,7 +5,6 @@ disabled_rules: - function_parameter_count - function_body_length - cyclomatic_complexity -- file_length excluded: - Pods - NADA-iOS-forRelease/Sources/AppDelegate.swift diff --git a/NADA-iOS-forRelease.xcodeproj/project.pbxproj b/NADA-iOS-forRelease.xcodeproj/project.pbxproj index e26ead3e..722c737f 100644 --- a/NADA-iOS-forRelease.xcodeproj/project.pbxproj +++ b/NADA-iOS-forRelease.xcodeproj/project.pbxproj @@ -14,6 +14,8 @@ 3909242F26FA15E800236C51 /* UIView+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3909242E26FA15E800236C51 /* UIView+Extension.swift */; }; 3918F66727719C4B00984648 /* UserTokenReissueRequset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3918F66627719C4B00984648 /* UserTokenReissueRequset.swift */; }; 3927A7D7275F2A9B008BCD2A /* UserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3927A7D6275F2A9B008BCD2A /* UserDefaults.swift */; }; + 392BAF792793BAF80013DCB3 /* KeyChain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392BAF782793BAF80013DCB3 /* KeyChain.swift */; }; + 392BAF7B2793E90D0013DCB3 /* KeyChainKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392BAF7A2793E90D0013DCB3 /* KeyChainKey.swift */; }; 392F7FB4274621F1008CDBF5 /* MoreListTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392F7FB2274621F1008CDBF5 /* MoreListTableViewCell.swift */; }; 392F7FB5274621F1008CDBF5 /* MoreListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 392F7FB3274621F1008CDBF5 /* MoreListTableViewCell.xib */; }; 39317D2227646F8E00D87166 /* GroupNameEditBottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39317D2127646F8E00D87166 /* GroupNameEditBottomSheetViewController.swift */; }; @@ -35,7 +37,6 @@ 39523E0B270184B100536900 /* CardList.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 39523E0A270184B100536900 /* CardList.storyboard */; }; 39523E5B2701A48900536900 /* CardListTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39523E592701A48900536900 /* CardListTableViewCell.swift */; }; 39523E5C2701A48900536900 /* CardListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39523E5A2701A48900536900 /* CardListTableViewCell.xib */; }; - 39523E5F2701AA9000536900 /* CardListDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39523E5E2701AA9000536900 /* CardListDataModel.swift */; }; 3958F239270FFBBF00B100B2 /* GroupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3958F238270FFBBF00B100B2 /* GroupViewController.swift */; }; 3958F23C270FFBD500B100B2 /* Group.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3958F23B270FFBD500B100B2 /* Group.storyboard */; }; 3979709626FA0BE5003FB4F5 /* LoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3979709526FA0BE5003FB4F5 /* LoginViewController.swift */; }; @@ -158,6 +159,8 @@ 3918F6652771682F00984648 /* NADA-iOS-forRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NADA-iOS-forRelease.entitlements"; sourceTree = ""; }; 3918F66627719C4B00984648 /* UserTokenReissueRequset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserTokenReissueRequset.swift; sourceTree = ""; }; 3927A7D6275F2A9B008BCD2A /* UserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaults.swift; sourceTree = ""; }; + 392BAF782793BAF80013DCB3 /* KeyChain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyChain.swift; sourceTree = ""; }; + 392BAF7A2793E90D0013DCB3 /* KeyChainKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyChainKey.swift; sourceTree = ""; }; 392F7FB2274621F1008CDBF5 /* MoreListTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreListTableViewCell.swift; sourceTree = ""; }; 392F7FB3274621F1008CDBF5 /* MoreListTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MoreListTableViewCell.xib; sourceTree = ""; }; 39317D2127646F8E00D87166 /* GroupNameEditBottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupNameEditBottomSheetViewController.swift; sourceTree = ""; }; @@ -179,7 +182,6 @@ 39523E0A270184B100536900 /* CardList.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = CardList.storyboard; sourceTree = ""; }; 39523E592701A48900536900 /* CardListTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardListTableViewCell.swift; sourceTree = ""; }; 39523E5A2701A48900536900 /* CardListTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CardListTableViewCell.xib; sourceTree = ""; }; - 39523E5E2701AA9000536900 /* CardListDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardListDataModel.swift; sourceTree = ""; }; 3958F238270FFBBF00B100B2 /* GroupViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupViewController.swift; sourceTree = ""; }; 3958F23B270FFBD500B100B2 /* Group.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Group.storyboard; sourceTree = ""; }; 3979709526FA0BE5003FB4F5 /* LoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginViewController.swift; sourceTree = ""; }; @@ -396,14 +398,6 @@ path = CardList; sourceTree = ""; }; - 39523E5D2701AA5700536900 /* CardList */ = { - isa = PBXGroup; - children = ( - 39523E5E2701AA9000536900 /* CardListDataModel.swift */, - ); - path = CardList; - sourceTree = ""; - }; 3958F237270FFB8700B100B2 /* Group */ = { isa = PBXGroup; children = ( @@ -764,6 +758,7 @@ children = ( F8C83FBA272F9F370009DF0D /* NetworkResult.swift */, F8C83FBC272F9F430009DF0D /* GenericResponse.swift */, + 392BAF782793BAF80013DCB3 /* KeyChain.swift */, 3981148A273BEB7200E28630 /* User */, F87122722733032300A24E74 /* Card */, 777FF89927359B1000BF69D3 /* Group */, @@ -821,7 +816,6 @@ F8FC438726C01CDD0033E151 /* SceneDelegate.swift */, F8FC439B26C01EC30033E151 /* Cells */, F8FC439C26C01EC90033E151 /* Classes */, - F8FC439D26C01EEC0033E151 /* AppModel */, F8C83FB9272F9F030009DF0D /* NetworkModel */, F8FC439E26C01EF70033E151 /* NetworkService */, F8FC439F26C01EFC0033E151 /* Protocols */, @@ -854,14 +848,6 @@ path = Classes; sourceTree = ""; }; - F8FC439D26C01EEC0033E151 /* AppModel */ = { - isa = PBXGroup; - children = ( - 39523E5D2701AA5700536900 /* CardList */, - ); - path = AppModel; - sourceTree = ""; - }; F8FC439E26C01EF70033E151 /* NetworkService */ = { isa = PBXGroup; children = ( @@ -941,6 +927,7 @@ 3927A7D6275F2A9B008BCD2A /* UserDefaults.swift */, 77F47D92276C79B600414659 /* Header.swift */, 770E58852778A78900498C2E /* Status.swift */, + 392BAF7A2793E90D0013DCB3 /* KeyChainKey.swift */, ); path = Constants; sourceTree = ""; @@ -1166,6 +1153,7 @@ F8268DB927730B0100BF114B /* FirstCardAlertBottomSheetViewController.swift in Sources */, 770E58862778A78900498C2E /* Status.swift in Sources */, F851805B275D047C006BD5ED /* OnboardingViewController.swift in Sources */, + 392BAF7B2793E90D0013DCB3 /* KeyChainKey.swift in Sources */, 39C1E88F270EC762006D2089 /* UIColor+Extension.swift in Sources */, F8C83FC9272FA3190009DF0D /* GroupAPI.swift in Sources */, F8FC43B826C0227D0033E151 /* Const.swift in Sources */, @@ -1195,12 +1183,12 @@ 3918F66727719C4B00984648 /* UserTokenReissueRequset.swift in Sources */, 7705CF3E2752C7DB005195DF /* CardView.swift in Sources */, F8FC43BA26C022900033E151 /* ViewController.swift in Sources */, - 39523E5F2701AA9000536900 /* CardListDataModel.swift in Sources */, 39D13568273FDCB800B1A148 /* UserWithTokenRequest.swift in Sources */, F84BAFB126FDB552004CA335 /* BackCardCreationCollectionViewCell.swift in Sources */, 39811490273BEBCE00E28630 /* CardListRequest.swift in Sources */, F8FC43BC26C022A20033E151 /* Storyboard.swift in Sources */, F8C83FC1272FA06E0009DF0D /* UserAPI.swift in Sources */, + 392BAF792793BAF80013DCB3 /* KeyChain.swift in Sources */, 7766A40F274FEBE200714912 /* CardInGroupCollectionViewCell.swift in Sources */, 3927A7D7275F2A9B008BCD2A /* UserDefaults.swift in Sources */, 7734D5B82777A8E8004360E4 /* String+Extension.swift in Sources */, diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/Contents.json deleted file mode 100644 index 46d360f4..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "scale" : "1x", - "idiom" : "universal", - "filename" : "btnMainCreate.png" - }, - { - "idiom" : "universal", - "scale" : "2x", - "filename" : "btnMainCreate@2x.png" - }, - { - "scale" : "3x", - "idiom" : "universal", - "filename" : "btnMainCreate@3x.png" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/btnMainCreate.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/btnMainCreate.png deleted file mode 100644 index ab913f27..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/btnMainCreate.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/btnMainCreate@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/btnMainCreate@2x.png deleted file mode 100644 index 27f8c816..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/btnMainCreate@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/btnMainCreate@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/btnMainCreate@3x.png deleted file mode 100644 index 93b2c463..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainCreate.imageset/btnMainCreate@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/Contents.json deleted file mode 100644 index 2c720654..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "scale" : "1x", - "idiom" : "universal", - "filename" : "btnMainDisable.png" - }, - { - "scale" : "2x", - "idiom" : "universal", - "filename" : "btnMainDisable@2x.png" - }, - { - "filename" : "btnMainDisable@3x.png", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/btnMainDisable.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/btnMainDisable.png deleted file mode 100644 index 55c60ef6..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/btnMainDisable.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/btnMainDisable@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/btnMainDisable@2x.png deleted file mode 100644 index c933bf77..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/btnMainDisable@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/btnMainDisable@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/btnMainDisable@3x.png deleted file mode 100644 index f447efa1..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/btnMainDisable.imageset/btnMainDisable@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/Contents.json deleted file mode 100644 index d559915c..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "scale" : "1x", - "filename" : "card.png", - "idiom" : "universal" - }, - { - "filename" : "card@2x.png", - "scale" : "2x", - "idiom" : "universal" - }, - { - "idiom" : "universal", - "filename" : "card@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/card.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/card.png deleted file mode 100644 index 203a47d8..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/card.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/card@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/card@2x.png deleted file mode 100644 index 69df8f69..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/card@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/card@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/card@3x.png deleted file mode 100644 index 610eb36a..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/card.imageset/card@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/Contents.json deleted file mode 100644 index 7b6a894a..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "icnApple.png", - "scale" : "1x", - "idiom" : "universal" - }, - { - "filename" : "icnApple@2x.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "icnApple@3x.png", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/icnApple.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/icnApple.png deleted file mode 100644 index 2efeba0d..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/icnApple.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/icnApple@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/icnApple@2x.png deleted file mode 100644 index 653cce8d..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/icnApple@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/icnApple@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/icnApple@3x.png deleted file mode 100644 index dee4a7b6..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnApple.imageset/icnApple@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/Contents.json deleted file mode 100644 index 7d870a8b..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "icnKakao.png", - "scale" : "1x", - "idiom" : "universal" - }, - { - "filename" : "icnKakao@2x.png", - "scale" : "2x", - "idiom" : "universal" - }, - { - "filename" : "icnKakao@3x.png", - "scale" : "3x", - "idiom" : "universal" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/icnKakao.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/icnKakao.png deleted file mode 100644 index dde2eaa7..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/icnKakao.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/icnKakao@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/icnKakao@2x.png deleted file mode 100644 index 7ea39bcb..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/icnKakao@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/icnKakao@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/icnKakao@3x.png deleted file mode 100644 index 9f7de136..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/icnKakao.imageset/icnKakao@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/Contents.json deleted file mode 100644 index 865145ed..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "image020.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "image020@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x", - "filename" : "image020@3x.png" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/image020.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/image020.png deleted file mode 100644 index 5b96f3ff..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/image020.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/image020@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/image020@2x.png deleted file mode 100644 index 28c5013e..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/image020@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/image020@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/image020@3x.png deleted file mode 100644 index 42387540..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image020.imageset/image020@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/Contents.json deleted file mode 100644 index 26efb8c4..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "scale" : "1x", - "idiom" : "universal", - "filename" : "image2140.png" - }, - { - "filename" : "image2140@2x.png", - "scale" : "2x", - "idiom" : "universal" - }, - { - "filename" : "image2140@3x.png", - "scale" : "3x", - "idiom" : "universal" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/image2140.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/image2140.png deleted file mode 100644 index 33ab6e2c..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/image2140.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/image2140@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/image2140@2x.png deleted file mode 100644 index c216eb23..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/image2140@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/image2140@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/image2140@3x.png deleted file mode 100644 index e7f520c1..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image2140.imageset/image2140@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/Contents.json deleted file mode 100644 index 41e3a554..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x", - "filename" : "image4160.png" - }, - { - "filename" : "image4160@2x.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "image4160@3x.png", - "scale" : "3x", - "idiom" : "universal" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/image4160.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/image4160.png deleted file mode 100644 index 1a4cb986..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/image4160.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/image4160@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/image4160@2x.png deleted file mode 100644 index af9ecd5a..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/image4160@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/image4160@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/image4160@3x.png deleted file mode 100644 index 63ad9dfa..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image4160.imageset/image4160@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/Contents.json deleted file mode 100644 index e4107609..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "image6180.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "image6180@2x.png", - "scale" : "2x", - "idiom" : "universal" - }, - { - "filename" : "image6180@3x.png", - "scale" : "3x", - "idiom" : "universal" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/image6180.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/image6180.png deleted file mode 100644 index 8d7575c8..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/image6180.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/image6180@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/image6180@2x.png deleted file mode 100644 index 3846416b..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/image6180@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/image6180@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/image6180@3x.png deleted file mode 100644 index dadf6bee..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image6180.imageset/image6180@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/Contents.json deleted file mode 100644 index bec6762c..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "image81100.png", - "scale" : "1x", - "idiom" : "universal" - }, - { - "idiom" : "universal", - "scale" : "2x", - "filename" : "image81100@2x.png" - }, - { - "idiom" : "universal", - "filename" : "image81100@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/image81100.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/image81100.png deleted file mode 100644 index 9432d926..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/image81100.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/image81100@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/image81100@2x.png deleted file mode 100644 index 8199b519..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/image81100@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/image81100@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/image81100@3x.png deleted file mode 100644 index 5e0284ce..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/image81100.imageset/image81100@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/Contents.json b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/Contents.json deleted file mode 100644 index a4d1efdc..00000000 --- a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "qrCodeImg21.png", - "scale" : "1x", - "idiom" : "universal" - }, - { - "filename" : "qrCodeImg21@2x.png", - "scale" : "2x", - "idiom" : "universal" - }, - { - "filename" : "qrCodeImg21@3x.png", - "scale" : "3x", - "idiom" : "universal" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/qrCodeImg21.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/qrCodeImg21.png deleted file mode 100644 index 6a6a9518..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/qrCodeImg21.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/qrCodeImg21@2x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/qrCodeImg21@2x.png deleted file mode 100644 index 472fc940..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/qrCodeImg21@2x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/qrCodeImg21@3x.png b/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/qrCodeImg21@3x.png deleted file mode 100644 index c26016b1..00000000 Binary files a/NADA-iOS-forRelease/Resouces/Assets/Assets.xcassets/qrCodeImg21.imageset/qrCodeImg21@3x.png and /dev/null differ diff --git a/NADA-iOS-forRelease/Resouces/Constants/Const.swift b/NADA-iOS-forRelease/Resouces/Constants/Const.swift index 1b721fb6..d8480804 100644 --- a/NADA-iOS-forRelease/Resouces/Constants/Const.swift +++ b/NADA-iOS-forRelease/Resouces/Constants/Const.swift @@ -8,5 +8,5 @@ import Foundation struct Const { - static let headerToken: String = UserDefaults.standard.string(forKey: Const.UserDefaultsKey.accessToken) ?? "" + static var headerToken: String = KeyChain.read(key: Const.KeyChainKey.accessToken) ?? "" } diff --git a/NADA-iOS-forRelease/Resouces/Constants/KeyChainKey.swift b/NADA-iOS-forRelease/Resouces/Constants/KeyChainKey.swift new file mode 100644 index 00000000..88e3e2fa --- /dev/null +++ b/NADA-iOS-forRelease/Resouces/Constants/KeyChainKey.swift @@ -0,0 +1,15 @@ +// +// KeyChainKey.swift +// NADA-iOS-forRelease +// +// Created by 민 on 2022/01/16. +// + +import Foundation + +extension Const { + struct KeyChainKey { + static let accessToken = "accessToken" + static let refreshToken = "refreshToken" + } +} diff --git a/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift b/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift index d83b9442..3b3fee66 100644 --- a/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift +++ b/NADA-iOS-forRelease/Resouces/Constants/UserDefaults.swift @@ -10,8 +10,6 @@ import Foundation extension Const { struct UserDefaultsKey { static let darkModeState = "darkModeState" - static let accessToken = "accessToken" - static let refreshToken = "refreshToken" static let userID = "userID" static let isFirstCard = "isFirstCard" static let isOnboarding = "isOnboarding" diff --git a/NADA-iOS-forRelease/Sources/AppDelegate.swift b/NADA-iOS-forRelease/Sources/AppDelegate.swift index 249b5af9..e7c503ec 100644 --- a/NADA-iOS-forRelease/Sources/AppDelegate.swift +++ b/NADA-iOS-forRelease/Sources/AppDelegate.swift @@ -20,7 +20,13 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // Override point for customization after application launch. KakaoSDKCommon.initSDK(appKey: "5b8dd8cc878344bb7532eeca4365a4aa") - let acToken = UserDefaults.standard.string(forKey: Const.UserDefaultsKey.accessToken) + + // 기존 사용자 로그아웃 인식을 위한 부분 + if UserDefaults.standard.string(forKey: "accessToken") != nil { + KeyChain.create(key: Const.KeyChainKey.accessToken, token: UserDefaults.standard.string(forKey: "accessToken") ?? "") + KeyChain.create(key: Const.KeyChainKey.refreshToken, token: UserDefaults.standard.string(forKey: "refreshToken") ?? "") + } + let acToken = KeyChain.read(key: Const.KeyChainKey.accessToken) if acToken != nil { if UserDefaults.standard.bool(forKey: Const.UserDefaultsKey.isAppleLogin) { diff --git a/NADA-iOS-forRelease/Sources/AppModel/CardList/CardListDataModel.swift b/NADA-iOS-forRelease/Sources/AppModel/CardList/CardListDataModel.swift deleted file mode 100644 index 068011fe..00000000 --- a/NADA-iOS-forRelease/Sources/AppModel/CardList/CardListDataModel.swift +++ /dev/null @@ -1,12 +0,0 @@ -// -// CardListDataModel.swift -// NADA-iOS-forRelease -// -// Created by 민 on 2021/09/27. -// - -import Foundation - -struct CardListDataModel { - var title: String -} diff --git a/NADA-iOS-forRelease/Sources/Cells/CardList/CardListTableViewCell.swift b/NADA-iOS-forRelease/Sources/Cells/CardList/CardListTableViewCell.swift index a7d45f68..ef10415a 100644 --- a/NADA-iOS-forRelease/Sources/Cells/CardList/CardListTableViewCell.swift +++ b/NADA-iOS-forRelease/Sources/Cells/CardList/CardListTableViewCell.swift @@ -19,7 +19,7 @@ class CardListTableViewCell: UITableViewCell { } static func nib() -> UINib { - return UINib(nibName: "CardListTableViewCell", bundle: nil) + return UINib(nibName: Const.Xib.cardListTableViewCell, bundle: nil) } override func setSelected(_ selected: Bool, animated: Bool) { diff --git a/NADA-iOS-forRelease/Sources/Cells/CreationCard/FrontCardCreationCollectionViewCell.swift b/NADA-iOS-forRelease/Sources/Cells/CreationCard/FrontCardCreationCollectionViewCell.swift index ec1f676b..9c4581fb 100644 --- a/NADA-iOS-forRelease/Sources/Cells/CreationCard/FrontCardCreationCollectionViewCell.swift +++ b/NADA-iOS-forRelease/Sources/Cells/CreationCard/FrontCardCreationCollectionViewCell.swift @@ -222,7 +222,6 @@ extension FrontCardCreationCollectionViewCell { private func setBirthText(notification: NSNotification) { birthLabel.text = notification.object as? String birthLabel.textColor = .primary - birthView.borderWidth = 0 checkFrontCradStatus() @@ -286,7 +285,6 @@ extension FrontCardCreationCollectionViewCell { presentingBirthBottomVCClosure?() birthView.layer.borderColor = UIColor.tertiary.cgColor birthView.layer.borderWidth = 1 - } @objc private func touchMBTIView() { @@ -323,20 +321,13 @@ extension FrontCardCreationCollectionViewCell: UICollectionViewDelegate { } else { defaultImageIndex = 0 } - case 1: - defaultImageIndex = 1 - case 2: - defaultImageIndex = 2 - case 3: - defaultImageIndex = 3 - case 4: - defaultImageIndex = 4 - case 5: - defaultImageIndex = 5 - case 6: - defaultImageIndex = 6 - case 7: - defaultImageIndex = 7 + case 1: defaultImageIndex = 1 + case 2: defaultImageIndex = 2 + case 3: defaultImageIndex = 3 + case 4: defaultImageIndex = 4 + case 5: defaultImageIndex = 5 + case 6: defaultImageIndex = 6 + case 7: defaultImageIndex = 7 default: return } diff --git a/NADA-iOS-forRelease/Sources/Cells/MoreList/MoreListTableViewCell.swift b/NADA-iOS-forRelease/Sources/Cells/MoreList/MoreListTableViewCell.swift index 6eacf75e..2f94818c 100644 --- a/NADA-iOS-forRelease/Sources/Cells/MoreList/MoreListTableViewCell.swift +++ b/NADA-iOS-forRelease/Sources/Cells/MoreList/MoreListTableViewCell.swift @@ -18,7 +18,7 @@ class MoreListTableViewCell: UITableViewCell { } static func nib() -> UINib { - return UINib(nibName: "MoreListTableViewCell", bundle: nil) + return UINib(nibName: Const.Xib.moreListTableViewCell, bundle: nil) } override func setSelected(_ selected: Bool, animated: Bool) { diff --git a/NADA-iOS-forRelease/Sources/NetworkModel/KeyChain.swift b/NADA-iOS-forRelease/Sources/NetworkModel/KeyChain.swift new file mode 100644 index 00000000..c2f5f5df --- /dev/null +++ b/NADA-iOS-forRelease/Sources/NetworkModel/KeyChain.swift @@ -0,0 +1,57 @@ +// +// KeyChain.swift +// NADA-iOS-forRelease +// +// Created by 민 on 2022/01/16. +// + +import Foundation +import Security + +class KeyChain { + // Create + class func create(key: String, token: String) { + let query: NSDictionary = [ + kSecClass: kSecClassGenericPassword, + kSecAttrAccount: key, // 저장할 Account + kSecValueData: token.data(using: .utf8, allowLossyConversion: false) as Any // 저장할 Token + ] + SecItemDelete(query) // Keychain은 Key값에 중복이 생기면, 저장할 수 없기 때문에 먼저 Delete해줌 + + let status = SecItemAdd(query, nil) + assert(status == noErr, "failed to save Token") + } + + // Read + class func read(key: String) -> String? { + let query: NSDictionary = [ + kSecClass: kSecClassGenericPassword, + kSecAttrAccount: key, + kSecReturnData: kCFBooleanTrue as Any, // CFData 타입으로 불러오라는 의미 + kSecMatchLimit: kSecMatchLimitOne // 중복되는 경우, 하나의 값만 불러오라는 의미 + ] + + var dataTypeRef: AnyObject? + let status = SecItemCopyMatching(query, &dataTypeRef) + + if status == errSecSuccess { + if let retrievedData: Data = dataTypeRef as? Data { + let value = String(data: retrievedData, encoding: String.Encoding.utf8) + return value + } else { return nil } + } else { + print("failed to loading, status code = \(status)") + return nil + } + } + + // Delete + class func delete(key: String) { + let query: NSDictionary = [ + kSecClass: kSecClassGenericPassword, + kSecAttrAccount: key + ] + let status = SecItemDelete(query) + assert(status == noErr, "failed to delete the value, status code = \(status)") + } +} diff --git a/NADA-iOS-forRelease/Sources/NetworkService/User/UserAPI.swift b/NADA-iOS-forRelease/Sources/NetworkService/User/UserAPI.swift index f8bc04e6..5ebda33d 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/User/UserAPI.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/User/UserAPI.swift @@ -15,54 +15,6 @@ public class UserAPI { public init() { } - func userIDFetch(userID: String, completion: @escaping (NetworkResult) -> Void) { - userProvider.request(.userIDFetch(userID: userID)) { (result) in - switch result { - case .success(let response): - let statusCode = response.statusCode - let data = response.data - - let networkResult = self.judgeUserIDFetchStatus(by: statusCode, data) - completion(networkResult) - - case .failure(let err): - print(err) - } - } - } - - func userTokenFetch(userID: String, completion: @escaping (NetworkResult) -> Void) { - userProvider.request(.userTokenFetch(userID: userID)) { (result) in - switch result { - case .success(let response): - let statusCode = response.statusCode - let data = response.data - - let networkResult = self.judgeUserTokenFetchStatus(by: statusCode, data) - completion(networkResult) - - case .failure(let err): - print(err) - } - } - } - - func userSignUp(request: User, completion: @escaping (NetworkResult) -> Void) { - userProvider.request(.userSignUp(request: request)) { (result) in - switch result { - case .success(let response): - let statusCode = response.statusCode - let data = response.data - - let networkResult = self.judgeUserIDFetchStatus(by: statusCode, data) - completion(networkResult) - - case .failure(let err): - print(err) - } - } - } - func userDelete(token: String, completion: @escaping (NetworkResult) -> Void) { userProvider.request(.userDelete(token: token)) { (result) in switch result { @@ -126,26 +78,6 @@ public class UserAPI { } } - private func judgeUserIDFetchStatus(by statusCode: Int, _ data: Data) -> NetworkResult { - - let decoder = JSONDecoder() - guard let decodedData = try? decoder.decode(GenericResponse.self, from: data) - else { - return .pathErr - } - - switch statusCode { - case 200: - return .success(decodedData.data ?? "None-Data") - case 400..<500: - return .requestErr(decodedData.msg) - case 500: - return .serverErr - default: - return .networkFail - } - } - private func judgeUserTokenFetchStatus(by statusCode: Int, _ data: Data) -> NetworkResult { let decoder = JSONDecoder() diff --git a/NADA-iOS-forRelease/Sources/NetworkService/User/UserSevice.swift b/NADA-iOS-forRelease/Sources/NetworkService/User/UserSevice.swift index 1f025ec8..f497c432 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/User/UserSevice.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/User/UserSevice.swift @@ -9,9 +9,6 @@ import Foundation import Moya enum UserSevice { - case userIDFetch(userID: String) - case userTokenFetch(userID: String) - case userSignUp(request: User) case userDelete(token: String) case userSocialSignUp(userID: String) case userLogout(token: String) @@ -26,12 +23,6 @@ extension UserSevice: TargetType { var path: String { switch self { - case .userIDFetch(let userID): - return "/\(userID)/login" - case .userTokenFetch(let userID): - return "/auth/\(userID)/login" - case .userSignUp: - return "/register" case .userDelete: return "/user" case .userSocialSignUp: @@ -45,9 +36,7 @@ extension UserSevice: TargetType { var method: Moya.Method { switch self { - case .userIDFetch, .userTokenFetch: - return .get - case .userSignUp, .userSocialSignUp, .userTokenReissue: + case .userSocialSignUp, .userTokenReissue: return .post case .userDelete, .userLogout: return .delete @@ -60,10 +49,8 @@ extension UserSevice: TargetType { var task: Task { switch self { - case .userIDFetch, .userTokenFetch, .userDelete, .userLogout: + case .userDelete, .userLogout: return .requestPlain - case .userSignUp(let request): - return .requestJSONEncodable(request) case .userSocialSignUp(let userID): return .requestParameters(parameters: ["userId": userID], encoding: JSONEncoding.default) case .userTokenReissue(let request): @@ -73,9 +60,7 @@ extension UserSevice: TargetType { var headers: [String: String]? { switch self { - case .userIDFetch, .userTokenFetch: - return Const.Header.bearerHeader - case .userSignUp, .userSocialSignUp, .userTokenReissue: + case .userSocialSignUp, .userTokenReissue: return ["Content-Type": "application/json"] case .userDelete, .userLogout: return Const.Header.basicHeader diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift index 300f11a3..833411de 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift @@ -7,7 +7,6 @@ import Photos import UIKit - import Kingfisher import NVActivityIndicatorView @@ -287,7 +286,6 @@ extension GroupViewController: UICollectionViewDataSource { guard let groupCell = collectionView.dequeueReusableCell(withReuseIdentifier: Const.Xib.groupCollectionViewCell, for: indexPath) as? GroupCollectionViewCell else { return UICollectionViewCell() } - groupCell.groupName.text = serverGroups?.groups[indexPath.row].groupName if indexPath.row == selectedRow { diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift index 2204f689..32025a06 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift @@ -196,8 +196,8 @@ extension LoginViewController { print("postUserSignUpWithAPI - success") if let userData = loginData as? UserWithTokenRequest { UserDefaults.standard.set(userData.user.userID, forKey: Const.UserDefaultsKey.userID) - UserDefaults.standard.set(userData.user.token.accessToken, forKey: Const.UserDefaultsKey.accessToken) - UserDefaults.standard.set(userData.user.token.refreshToken, forKey: Const.UserDefaultsKey.refreshToken) + KeyChain.create(key: Const.KeyChainKey.accessToken, token: userData.user.token.accessToken) + KeyChain.create(key: Const.KeyChainKey.refreshToken, token: userData.user.token.refreshToken) self.presentToMain() } case .requestErr(let message): diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/More/MoreViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/More/MoreViewController.swift index e54720fc..54693d1f 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/More/MoreViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/More/MoreViewController.swift @@ -110,10 +110,10 @@ extension MoreViewController { func setLogoutClicked() { makeOKCancelAlert(title: "", message: "로그아웃 하시겠습니까?", okAction: { _ in self.makeOKAlert(title: "", message: "로그아웃이 완료 되었습니다.") { _ in - if let acToken = UserDefaults.standard.string(forKey: Const.UserDefaultsKey.accessToken) { + if let acToken = KeyChain.read(key: Const.KeyChainKey.accessToken) { self.logoutUserWithAPI(token: acToken) - self.defaults.removeObject(forKey: Const.UserDefaultsKey.accessToken) - self.defaults.removeObject(forKey: Const.UserDefaultsKey.refreshToken) + KeyChain.delete(key: Const.KeyChainKey.accessToken) + KeyChain.delete(key: Const.KeyChainKey.refreshToken) self.defaults.removeObject(forKey: Const.UserDefaultsKey.darkModeState) let nextVC = UIStoryboard(name: Const.Storyboard.Name.login, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.loginViewController) nextVC.modalPresentationStyle = .overFullScreen @@ -130,7 +130,7 @@ extension MoreViewController { print(error) } else { self.makeOKAlert(title: "", message: "받은 명함이 초기화 되었습니다.") - if let acToken = UserDefaults.standard.string(forKey: Const.UserDefaultsKey.accessToken) { + if let acToken = KeyChain.read(key: Const.KeyChainKey.accessToken) { self.groupResetWithAPI(token: acToken) } } @@ -145,10 +145,10 @@ extension MoreViewController { print(error) } else { self.makeOKAlert(title: "", message: "모든 명함이 삭제되었습니다.") { _ in - if let acToken = UserDefaults.standard.string(forKey: Const.UserDefaultsKey.accessToken) { + if let acToken = KeyChain.read(key: Const.KeyChainKey.accessToken) { self.deleteUserWithAPI(token: acToken) - self.defaults.removeObject(forKey: Const.UserDefaultsKey.accessToken) - self.defaults.removeObject(forKey: Const.UserDefaultsKey.refreshToken) + KeyChain.delete(key: Const.KeyChainKey.accessToken) + KeyChain.delete(key: Const.KeyChainKey.refreshToken) self.defaults.removeObject(forKey: Const.UserDefaultsKey.darkModeState) let nextVC = UIStoryboard(name: Const.Storyboard.Name.login, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.loginViewController) nextVC.modalPresentationStyle = .overFullScreen diff --git a/README.md b/README.md index 70ebe7a4..7e07c086 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,96 @@ -# NADA-iOS-ForRelease -릴리즈를 목표로하는 민재이준현규의 으라차차🦾 대소동🧨 iOS❤️‍🔥 TeamNADA +

+ Flicking Logo
+

+ +# 가장 간편한 자기소개, '나를 다' 담은 명함 서비스, 나다 NADA + + + + ![Swift](https://img.shields.io/badge/Swift-5.0-orange.svg) + [![Platform](https://img.shields.io/cocoapods/p/LFAlertController.svg?style=flat)](http://creativecommons.org/licenses/by/4.0/) + +‘안녕하세요.. 만나서 반갑습니다! 앗... 혹시 인스타하세요..? MBTI는요..?’ + +매번 어색하고 할 말 없는 첫 만남, 매번 반복되는 똑같은 자기소개! 생각만 해도.. 스트레스 받죠? + +이제는 나다로 명함을 교환하며 쉽고 재미있게 서로를 알아가 보세요. + +
+ +**#1. 나에 대한 모든 정보를 명함 한 장에 담아보세요.** + +앞면에는 이름, 생일 등 기본적인 정보를, 뒷면에는 더 재미있는 정보를 담을 수 있어요. +동아리, 회사, 학교... 다양한 페르소나를 대비해 여러 개의 명함을 만들 수 있어요. + +
+ +**#2. 명함을 교환하며 서로에 대한 정보를 쉽게 파악해보세요.** + +하나의 명함마다 QR코드, ID가 생성돼요. 상대방과 명함을 교환하며 서로를 더 잘 기억해 보세요. +받은 명함은 그룹별로 분류하여 관리할 수 있어요. + +
+ +**#3. 처음 만난 사람들과의 즐거운 만남을 도와드려요.** + +교환한 명함을 통해 서로의 정보를 더 잘 파악하고, 기억할 수 있어요. +MBTI, 취향 등이 조합된 NADA만의 궁합 시스템으로 재미있는 만남을 가져보세요. + +
+ +## 🧑🏻‍💻 iOS Developers + + + + + + +

현규 교수님


이준 교수님


민재 학부연구생

+ +
+ +## 📦 Libraries +|Library|Version|Description| +|:-----:|:-----:|:-----:| +|[**Moya**](https://github.com/Moya/Moya)|14.0.0|네트워킹 시 사용| +|[**SkeletonView**](https://github.com/Juanpe/SkeletonView)|1.21.2|API 호출 프로세스가 작동하는동안, 사용자들에게 보여주는 로딩 뷰| +|[**SwiftLint**](https://github.com/realm/SwiftLint)|0.43.1|개발자 사이, 코딩 컨벤션 규칙을 설정하는 데 사용| +|[**VerticalCardSwiper**](https://github.com/JoniVR/VerticalCardSwiper)|2.3.1|메인 뷰, 카드 스와이프 방식 기능을 구현할 때 사용| +|[**KakaoSDK**](https://developers.kakao.com/sdk/reference/ios/release/KakaoSDKCommon/index.html)|2.5.6|카카오 소셜 로그인 관련| +|[**IQKeyboardManagerSwift**](https://github.com/hackiftekhar/IQKeyboardManager)|6.5.6|앱 내, 키보드를 편리하게 다루기 위해 사용| +|[**Kingfisher**](https://github.com/onevcat/Kingfisher)|7.1.1|URL 주소를 가지고 있는 이미지를 앱 내에서 보여지게 할 때, 사용| +|[**NVActivityIndicatorView**](https://github.com/ninjaprox/NVActivityIndicatorView)|5.1.1|로딩 화면에서 사용되는 애니메이션| + +
+ +## 📂 Foldering Convention +```bash +├── Info.plist +├── Resource +│ ├── Assets +│ └── Assets.xcassets +│ ├── Constants +│ ├── Extensions +│ ├── Fonts +│ └── Storyboards +├── Source +│ ├── AppDelegate +│ ├── SceneDelegate +│ ├── Cells +│ ├── Classes +│ ├── Models +│ ├── Network +│ ├── Protocols +│ ├── ViewControllers +│ └── Views +└── +``` + +## 📖 Coding Convention +See [Coding Convention Wiki](https://github.com/TeamNADA/NADA-iOS-ForRelease/wiki/Code-Convention) page. + +## 🎋 Git Branch Rule +See [Git Branch Rule Wiki](https://github.com/TeamNADA/NADA-iOS-ForRelease/wiki/Branch-Rule) page. + +## 🙌 Git Commit, Issue, PR Message Convention +See [Git Commit, Issue, PR Message Convention Wiki](https://github.com/TeamNADA/NADA-iOS-ForRelease/wiki/Commit,-Issue,-PR) page.