Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

출시 준비를 위한 마무리 작업 #110

Merged
merged 17 commits into from
Aug 28, 2024
Merged

Conversation

ShapeKim98
Copy link
Contributor

@ShapeKim98 ShapeKim98 commented Aug 27, 2024

#️⃣연관된 이슈

#108

📝작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

  • 약관 연결
  • 불필요한 코드, 선언 제거
  • ios16 perception tracking 개선
  • 다양한 화면 크기 검토 및 대응
  • 카테고리와 컨텐츠를 추가/수정 시 PokitRoot와 ContentList에 반영이 안되었던 문제 수정
  • FeatureSearch에 페이징 기능 추가
  • 앱 아이콘 정식으로 변경
  • PokiCalendar 성능개선
  • 햅틱 피드백 추가
  • 애니메이션 개선
  • CategorySetting에서 키보드 올라올 시점에 하단버튼 가려지는 문제 수정

+++++ 추가사항

  • 애플 로그인 회원 탈퇴 revoke 요청 작성
    ios단에서 애플 서버에서 리프레시 토큰을 받아오다 보니 계정 연동 해제를 위한 revoke도 ios단에서 보내야 하는걸로 판단이 됩니다.
    일단 급한대로 이렇게 하고 2차 배포때 다시 서버와 협상하는걸로 합시다

스크린샷 (선택)

💬리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

  • 약관을 openURL이 아닌 SFSafariView로 바꿨습니다. 약관이나 공지사항을 확인하는데 있어, 다른앱으로 넘어간다는게 조금 불편하다는 판단이었습니다.
    Simulator Screen Recording - iPhone 15 Pro - 2024-08-27 at 17 15 05

  • iOS 16에서 Perception Tracking을 개선하면서 CategorySetting으로 이동하는 시점에 아래와 같은 경고문이 나온다는 것을 발견하였지만, 정확한 원인을 몰라 수정을 못하였습니다.

Perceptible state was accessed but is not being tracked. Track changes to state by wrapping your view in a 'WithPerceptionTracking' view.
  • 다른 기능들은 어떤지 테스트를 안해보았으나, 검색화면에서 빠르게 아래로 스크롤 시 페이징이 멈추는 현상이 있습니다. (너무 빠른 페이징 호출로 인한 동시성 오류로 추정)
    Simulator Screen Recording - iPhone 15 Pro - 2024-08-27 at 16 28 20

  • ContentDetail을 내리고 빠르게 뒤로가기 제스처를 하면 앱이 멈춰버리는 현상이 있습니다. ifLet오류이고, ContentDetaildismiss 액션 다음 액션을 수행하는 단계에서 뒤로가기 제스처로 해당 Feature를 죽여버려서 멈추는것 같습니다. (당장 빠르게 해결할 수 있는 문제가 아닌거 같아요.)

  • ContentList에 위와 똑같은 상황에서, BottomSheet가 계속 떠버리는 현상이 있습니다. (동일한 문제로 추정, 앱이 멈추지는 않음)

  • PokitCalendar의 성능 개선을 진행하였습니다. 사실 iOS 16에서 PokitCalendar를 들어가면 성능을 엄청 잡아먹어서 진행하였으나, PokitCalendar의 자체 성능보단 iOS16에선 TabView가 Lazy 하게 동작하지 않은게 원인이었고, 캘린더 범위를 2000-2024 년도로 설정한 것을 20240현재로 수정하였습니다. (하지만 초반엔 이걸 모르고, 작성해주신 DateFormat과, 선택된 날짜들을 캐싱하는 방식으로 성능을 개선하긴 했습니다.)

  • 위와 같은 버그들이 있긴 하지만, 일단 배포에 우선순위를 좀 더 두고, 버그 수정을 2차로 미룰려고 합니다..(혹시나 수정 가능하시다면 주저 말고 커밋 푸시 해주세여..)

  • fcm 작업 까지 합쳐지면 바로 배포할 생각으로 작업을 하였는데, 심사에 걸릴만한거나 빼먹은게 있다면 말씀해주세여

close #108

@ShapeKim98 ShapeKim98 added Fix 기능 수정 Bug 🔫 현재 발견된 버그를 수정하기 위함 labels Aug 27, 2024
@ShapeKim98 ShapeKim98 self-assigned this Aug 27, 2024
ShapeKim98 added a commit that referenced this pull request Aug 27, 2024
Copy link

@ITlearning ITlearning left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

마무리 작업이라니!!
고생 많으셨어요 🥺 완성된 모습이 정말 기대가 됩니다 ㅎㅎㅎ

저도 잘은 모르지만, 경험에 비추어 봤을때 쪼금이라도 말씀 드릴 수 있는 것들에 대해서는 코멘트 남겨놓아보겠습니다. (도움이 안되실수도 있습니다..)

  • 다른 기능들은 어떤지 테스트를 안해보았으나, 검색화면에서 빠르게 아래로 스크롤 시 페이징이 멈추는 현상이 있습니다. (너무 빠른 페이징 호출로 인한 동시성 오류로 추정)
    요 문제는 제 경험에 빗대어 봤을 때 두번째 페이지를 불러오는 순간과 세번째 페이지를 불러오는 순간이 겹치는 바람에 동시성 문제가 생긴걸수도...있...을겁니다.. 정확한 이유는 디버깅을 빡세게 하는거 아닌이상 확인이 불가능해서요 ㅠㅠㅠ 꼭 해결할 수 있길 바래봅니다..

시트와 화면 dismiss 시 멈추는 문제는 서로 반대로 문제를 발생시키고 있는 것 같네요.
메모리 해제 문제로 추정이 되는데요..이것도 어디서 문제가 나는지를 확인해야 하는데 Xcode에 메모리 디버깅기능을 사용해보신적이 있나요?
스크린샷 2024-08-28 오전 8 55 37

요걸 이용해서 왼쪽에 뜨는 리스트 형식의 트리나, 화면 크게 뜨는 그래프를 이용해서 현재 살아있는 주소의 화면이나, 순환참조가 일어나는 화면등을 확인해볼 수 있습니다! (뭐 다들 잘 아실테지만..) 저희 회사에서도 화면을 닫았는데 닫은 화면이 살아있는 바람에 오류가 났었어서 이 디버깅으로 해결했던 기억이 있어서 공유 드려봅니다.

출시할때에는 앱 이용에 크리티컬한것만 아니면 잘 통과 될 것 같습니다!
조금만 더 화이팅입니다 :)


public class Coordinator: NSObject, SFSafariViewControllerDelegate {
@Binding
private var url: URL?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Binding을 한 이유가 따로 있으실까요?
혹시라두 외부에서 URL이 변경되는 상태를 감지해야하는게 아니라면 Binding은 제거해도 괜찮을 것 같아서 여쭤봅니다!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

웹뷰에서 닫기 버튼을 눌렀을때 외부에서 주입된 url을 바로 nil로 바꾸기 위함이었습니다...ㅎㅎ

@@ -4,6 +4,8 @@
//
// Created by 김도형 on 7/5/24.

import Foundation

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요 Space 제거해도 좋아보여욤~

@@ -20,6 +22,9 @@ public struct AgreeToTermsFeature {
var isPersonalAndUsageArgee: Bool = false
var isServiceAgree: Bool = false
var isMarketingAgree: Bool = false

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요것두여~

Comment on lines +294 to +313
switch type {
case .unread:
let contentList = try await remindClient.읽지않음_컨텐츠_조회(
BasePageableRequest(
page: pageable.page,
size: size,
sort: pageable.sort
)
).toDomain()
await send(.inner(.컨텐츠_목록_갱신(contentList)), animation: .pokitSpring)
case .favorite:
let contentList = try await remindClient.즐겨찾기_링크모음_조회(
BasePageableRequest(
page: pageable.page,
size: size,
sort: pageable.sort
)
).toDomain()
await send(.inner(.컨텐츠_목록_갱신(contentList)), animation: .pokitSpring)
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BasePageableRequest가 공통되니까 switch 나누기전에 위로 빼버리면 기분좋을듯합니다😆

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 넵 좋습니다

Copy link
Member

@stealmh stealmh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨읍니다👍👍👍
포매터 적용하신 것 너무 좋아요 캘린더 쪽 많이 예뻐졌네요ㅎㅎ
코드가 점점 정리되고 있다는 느낌을 받은 pr이였던 것 같아요.

@ShapeKim98
Copy link
Contributor Author

마무리 작업이라니!! 고생 많으셨어요 🥺 완성된 모습이 정말 기대가 됩니다 ㅎㅎㅎ

저도 잘은 모르지만, 경험에 비추어 봤을때 쪼금이라도 말씀 드릴 수 있는 것들에 대해서는 코멘트 남겨놓아보겠습니다. (도움이 안되실수도 있습니다..)

  • 다른 기능들은 어떤지 테스트를 안해보았으나, 검색화면에서 빠르게 아래로 스크롤 시 페이징이 멈추는 현상이 있습니다. (너무 빠른 페이징 호출로 인한 동시성 오류로 추정)
    요 문제는 제 경험에 빗대어 봤을 때 두번째 페이지를 불러오는 순간과 세번째 페이지를 불러오는 순간이 겹치는 바람에 동시성 문제가 생긴걸수도...있...을겁니다.. 정확한 이유는 디버깅을 빡세게 하는거 아닌이상 확인이 불가능해서요 ㅠㅠㅠ 꼭 해결할 수 있길 바래봅니다..

시트와 화면 dismiss 시 멈추는 문제는 서로 반대로 문제를 발생시키고 있는 것 같네요. 메모리 해제 문제로 추정이 되는데요..이것도 어디서 문제가 나는지를 확인해야 하는데 Xcode에 메모리 디버깅기능을 사용해보신적이 있나요? 스크린샷 2024-08-28 오전 8 55 37

요걸 이용해서 왼쪽에 뜨는 리스트 형식의 트리나, 화면 크게 뜨는 그래프를 이용해서 현재 살아있는 주소의 화면이나, 순환참조가 일어나는 화면등을 확인해볼 수 있습니다! (뭐 다들 잘 아실테지만..) 저희 회사에서도 화면을 닫았는데 닫은 화면이 살아있는 바람에 오류가 났었어서 이 디버깅으로 해결했던 기억이 있어서 공유 드려봅니다.

출시할때에는 앱 이용에 크리티컬한것만 아니면 잘 통과 될 것 같습니다! 조금만 더 화이팅입니다 :)

오 디버깅 꿀팁 감사합니다..!! 이게... 마무리 pr이긴 한데... 애플로그인 탈퇴 이슈로 구현 될 때 까지 여유롭게 디버깅 할것 같아여... 감사합니다...

@ShapeKim98
Copy link
Contributor Author

ShapeKim98 commented Aug 28, 2024

고생하셨읍니다👍👍👍 포매터 적용하신 것 너무 좋아요 캘린더 쪽 많이 예뻐졌네요ㅎㅎ 코드가 점점 정리되고 있다는 느낌을 받은 pr이였던 것 같아요.

감사합니다..!!! 급하게 하느라 막 쓴 코드들도 있긴 한데...ㅎㅎ

@stealmh stealmh merged commit 41bbda6 into develop Aug 28, 2024
1 check passed
@stealmh stealmh deleted the feature/#108-prepare-release branch September 3, 2024 12:26
@stealmh stealmh linked an issue Oct 2, 2024 that may be closed by this pull request
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug 🔫 현재 발견된 버그를 수정하기 위함 Fix 기능 수정
Projects
None yet
Development

Successfully merging this pull request may close these issues.

출시 준비를 위한 작업
3 participants