-
Notifications
You must be signed in to change notification settings - Fork 3
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
Feat/#311 앱스토어의 앱 버전과 기존 앱의 버전을 추적하여 강제 업데이트 기능 #313
base: dev
Are you sure you want to change the base?
Conversation
지수님 제가 오늘부터 목요일까지 맥북을 사용할 수 있는 환경이 아니어서, 괜찮으시면 리뷰어 분을 한명 더 등록하시는건 어떨까요? 저는 목요일 이후에 리뷰가 가능할거같아요 |
앗 ! 하은님 괜찮으시면 그렇게 하겠습니다 ! |
= "itms-apps://itunes.apple.com/app/apple-store/" | ||
|
||
/// 앱스토어에 등록된 최신 버전 가져오는 함수 | ||
static public func latestVersion(completion: @escaping (String?) -> Void) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
async await 말고 컴플리션 핸들러를 쓰신 이유가 있을까요 ?.?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아아 app delegate 에서 쓰일 코드가 아닌데 async-await 해놨던걸 거기서 쓰다가 문제가 생겨서 completion으로 변경하고 scene delegate를 하다가 다시 수정한다는걸 잊어버렸어요 🫠
async - await으로 수정하겠습니다 !
let splitMarketingVersion = marketingVersion.split(separator: ".").map { $0 } | ||
let splitCurrentProjectVersion = currentProjectVersion.split(separator: ".").map { $0 } | ||
|
||
if splitCurrentProjectVersion.count > 0 && splitMarketingVersion.count > 0 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 구문이 필수적으로 필요한지 궁금합니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
82, 83은 [1.2.3] 이렇게 오는걸 .을 기준으로 나누기 위해서 필요하고,
85번째 줄은 .을 기준으로 잘 들어왔는지 확인하기 위해서 count로 조건을 준거였어요 !
네 그게 좋을 것 같습니다 ! 현재 깃헙만 둘러볼 수 있는 상황이어서 ㅠㅠ 코드 리뷰만 남기는 걸로 하겠습니다 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
추가로 ignore 파일 업데이트가 안되어 있어 디버깅을 못하고있어요
올려주시면 땡겨서 추가 확인해보겠습니다~
/// 프로젝트 버전 | ||
let appVersion = String.getCurrentVersion() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
사용되지 않는 변수인데 남겨두신 이유가 있으신가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sceneDelegate에서 가져다 쓰려고 뒀는데 scene에서도 또 변수 만들어서 썼네요 🥲 수정하겠습니다 ~
static let appleID = Bundle.main.object(forInfoDictionaryKey: "APPLE_ID") as? String | ||
|
||
/// 앱스토어 연결 링크 | ||
static let appStoreURLString | ||
= "itms-apps://itunes.apple.com/app/apple-store/" | ||
|
||
/// 앱스토어에 등록된 최신 버전 가져오는 함수 | ||
|
||
static public func latestVersion() async -> String? { | ||
guard let appleID = AppStoreCheck.appleID, | ||
let url | ||
= URL(string: "https://itunes.apple.com/lookup?id=\(appleID)&country=kr") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
린트 오류 수정바랍니다!
@@ -50,7 +50,8 @@ public extension [String: Plist.Value] { | |||
"NMFClientId": "$(NAVERMAP_CLIENT_ID)", | |||
"TERMS_OF_PRIVACY_URL": "$(TERMS_OF_PRIVACY_URL)", | |||
"LOCATION_PRIVACY_URL": "$(LOCATION_PRIVACY_URL)", | |||
"INQURY_URL": "$(INQURY_URL)" | |||
"INQURY_URL": "$(INQURY_URL)", | |||
"APPLE_ID": "$(APPLE_ID)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
APPLE_ID가 유저의 apple 계정 id로 유추되어서 APPSTORE_ID와 같이 표현하면 어떨까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
변경하겠습니다 !
|
||
/// 앱스토어에 등록된 최신 버전 가져오는 함수 | ||
|
||
static public func latestVersion() async -> String? { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
함수 시그니처를 () -> Observable으로 변경하는 게 어떨까요?
- 한 번 구독되고 값이 방출되면 stream이 마무리되는 single 선택 - error 케이스 생성 - private init() 을 통해 객체 생성 방지
- 린트에 맞춰 수정 - 싱글톤 형태로 변경
작업내용
기존 앱 버전과 앱스토어에 올라간 앱의 major 버전을 비교하여 앱스토어를 열어주는 alert 띄우기
720p.mov
리뷰요청
관련 이슈
close #311