Skip to content

Commit c08f133

Browse files
committed
로그아웃하고 앱을 다시 실행시켜서 사용자가 로그인했을 때 FeedVC 가 present되지 않는 버그를 발견했는데 못 고쳤다.. (브랜치 쓸걸) 다시 이전 커밋 state로 돌아가기 위한 커밋..
1 parent ed610f6 commit c08f133

File tree

10 files changed

+53
-18
lines changed

10 files changed

+53
-18
lines changed

Clone App/Instagram/Instagram.xcworkspace/xcuserdata/yangseunghyeon.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,21 @@
1616
categories = "Hang Risk">
1717
</BreakpointContent>
1818
</BreakpointProxy>
19+
<BreakpointProxy
20+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
21+
<BreakpointContent
22+
uuid = "1E21884A-E5BE-4604-A40D-5C3E227AEBC3"
23+
shouldBeEnabled = "Yes"
24+
ignoreCount = "0"
25+
continueAfterRunningActions = "No"
26+
filePath = "Instagram/Controller/Authentication/LoginController.swift"
27+
startingColumnNumber = "9223372036854775807"
28+
endingColumnNumber = "9223372036854775807"
29+
startingLineNumber = "215"
30+
endingLineNumber = "215"
31+
landmarkName = "didTapLoginButton(_:)"
32+
landmarkType = "7">
33+
</BreakpointContent>
34+
</BreakpointProxy>
1935
</Breakpoints>
2036
</Bucket>

Clone App/Instagram/Instagram/API/AuthService.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,8 @@ struct AuthService {
1919

2020
ImageUploader.uploadImage(image: image) { imageUrl in
2121
AUTH.createUser(withEmail: info.email.value, password: info.password.value) { result, error in
22-
guard error == nil else { print("Fail uploadImage"); return }
22+
guard error == nil else { print("Fail uploadImage: \(error?.localizedDescription)"); return }
2323
guard let uid = result?.user.uid else { return }
24-
2524
let userModel = info.getUserInfoModel(uid: uid, url: imageUrl)
2625
let encodedUserModel = encodeToNSDictionary(codableType: userModel)
2726
COLLECTION_USERS.document(uid).setData(encodedUserModel, completion: completion)

Clone App/Instagram/Instagram/API/ImageUploader.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ struct ImageUploader {
1919
print("DEBUG : Failed to upload image \(error.localizedDescription)")
2020
return
2121
}
22-
2322
ref.downloadURL { url, error in
2423
guard let imageUrl = url?.absoluteString else { return }
2524
completion(imageUrl)

Clone App/Instagram/Instagram/Controller/Authentication/LoginController.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,13 @@ extension LoginController {
211211
return
212212
}
213213
guard let vc = self.presentingViewController as? MainHomeTabController else {
214-
print("no")
214+
215+
print("DEBUG: No")
216+
let vc = MainHomeTabController()
217+
vc.modalPresentationStyle = .fullScreen
218+
vc.fetchUserInfo()
219+
present(vc, animated: false)
220+
215221
return
216222
}
217223
endIndicator(indicator: indicator)

Clone App/Instagram/Instagram/Controller/Authentication/RegistrationController.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,12 +220,11 @@ extension RegistrationController {
220220
@objc func didTapSignUpButton(_ sender: Any) {
221221
startIndicator(indicator: indicator)
222222
AuthService.registerUser(withUserInfo: vm) { [self] error in
223-
224223
if let error = error {
224+
endIndicator(indicator: indicator)
225225
print("DEBUG : Failed register user info in Firestore Database \(error.localizedDescription)")
226226
return
227227
}
228-
229228
print("DEBUG : Successful registered user with fireStore")
230229
endIndicator(indicator: indicator)
231230
self.navigationController?.popViewController(animated: true)

Clone App/Instagram/Instagram/Controller/FeedController.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,9 @@ extension FeedController {
8989
extension FeedController {
9090
@objc func handleLogout() {
9191
do {
92+
print("Logout user: \(Auth.auth().currentUser?.email)")
9293
try Auth.auth().signOut()
94+
print("Check really logouted user: \(Auth.auth().currentUser?.email)")
9395
DispatchQueue.main.async {
9496
self.presentLoginScene()
9597
}

Clone App/Instagram/Instagram/Controller/MainHomeTabController.swift

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ class MainHomeTabController: UITabBarController {
2222
super.viewDidLoad()
2323
view.backgroundColor = .white
2424
configure()
25+
26+
}
27+
28+
override func viewWillAppear(_ animated: Bool) {
29+
configure()
2530
}
2631

2732
}
@@ -31,8 +36,8 @@ extension MainHomeTabController {
3136

3237
func configure() {
3338
customTabBarUI()
34-
checkIfUserIsLoggedIn()
3539
fetchUserInfo()
40+
checkIfUserIsLoggedIn()
3641
}
3742

3843
func configureViewControllers() {
@@ -57,6 +62,7 @@ extension MainHomeTabController {
5762
viewControllers = [feed,search,imageSelector,notifications,profile]
5863
}
5964

65+
6066
}
6167

6268
//MARK: - Setup NavigationController Helpers
@@ -113,13 +119,13 @@ extension MainHomeTabController {
113119
}
114120
}
115121

122+
123+
116124
//MARK: - API. check user's membership
117125
func checkIfUserIsLoggedIn() {
118-
if Auth.auth().currentUser == nil {
119-
DispatchQueue.main.async {
120-
self.view.isHidden = true
121-
self.presentLoginScene()
122-
}
126+
if CURRENT_USER == nil {
127+
self.view.isHidden = true
128+
self.presentLoginScene()
123129
}
124130
}
125131

@@ -131,15 +137,13 @@ extension MainHomeTabController {
131137
self.present(nav,animated: false, completion: nil)
132138
}
133139

140+
134141
}
135142

136143
//MARK: - Implement AuthentificationDelegate
137144
extension MainHomeTabController: AuthentificationDelegate {
138145
func authenticationCompletion() {
139-
UserService.fetchCurrentUserInfo() { userInfo in
140-
guard let userInfo = userInfo else { return }
141-
self.userVM = UserInfoViewModel(user: userInfo, profileImage: nil)
142-
}
146+
fetchUserInfo()
143147
self.dismiss(animated: false)
144148
}
145149

Clone App/Instagram/Instagram/SceneDelegate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
1717
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
1818
guard let scene = (scene as? UIWindowScene) else { return }
1919
window = UIWindow(windowScene: scene)
20+
2021
window?.rootViewController = MainHomeTabController()
21-
2222
//window?.rootViewController = UINavigationController(rootViewController: LoginController())
2323
window?.makeKeyAndVisible()
2424

Clone App/Instagram/Instagram/Utils/Extensions.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ extension UIViewController {
2626

2727
DispatchQueue.main.async {
2828
self.view.bringSubviewToFront(indicator)
29+
indicator.isHidden = false
2930
indicator.startAnimating()
3031
}
3132
}
@@ -39,7 +40,7 @@ extension UIViewController {
3940

4041
func setupIndicatorConstraints(indicator: UIActivityIndicatorView) {
4142
view.addSubview(indicator)
42-
indicator.hidesWhenStopped = true
43+
indicator.hidesWhenStopped = true
4344
indicator.translatesAutoresizingMaskIntoConstraints = false
4445
NSLayoutConstraint.activate([indicator.centerXAnchor.constraint(equalTo: view.centerXAnchor),
4546
indicator.centerYAnchor.constraint(equalTo: view.centerYAnchor)])

Clone App/Instagram/Instagram/ViewModel/UserInfoViewModel.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ struct UserInfoViewModel {
2323

2424
extension UserInfoViewModel {
2525

26+
//MARK: - Get user value
2627
func getUserName() -> String {
2728
return user.username
2829
}
@@ -39,7 +40,15 @@ extension UserInfoViewModel {
3940
return user
4041
}
4142

43+
func getUserEmail() -> String {
44+
return user.email
45+
}
46+
47+
//MARK: - Set user value
48+
4249
func setUserProfile(iv: UIImageView) {
4350
iv.image = profileImage
4451
}
52+
53+
4554
}

0 commit comments

Comments
 (0)