SwiftUI 를 사용해서 개인 프로젝트를 시작하기 위해 기초적인 작업을 맞춰놨다. 일단 기본적으로 MVVM에서 데이터를 전달하는 방식과 RxSwift 를 활용하는 내용을 실전에 활용해 보기 위해 한번 테스트를 해봤다고 생각 하면서 진행했다. Model 및 ViewModel 생성struct Workout: Identifiable { var id = UUID() var name: String var date: Date var duration: TimeInterval var caloriesBurned: Double}운동 기록을 하기 위해 필요한 데이터를 struct로 생성하였다.import Foundationimport RxSwiftimport RxCocoaclass Workout..
SwiftUI에서 @ObservedObject와 @StateObject는 데이터 흐름을 관리하는 중요한 속성 래퍼이다. 각각의 개념 예시 그리고 차이점에 대해서 알아보자. @ObservedObject먼저 @ObservedObject는 외부에서 생성되고 관리되는 관찰 가능한 객체를 뷰에 연결하는데 사용된다. 이 객체는 ObservedObject 프로토콜을 준수해야 하며, @Published 속성이 변경될 때 즉 객체가 변경될 때 마다 뷰를 자동으로 업데이트 하도록 한다.class UserViewModel: ObservableObject { @Published var username: String = "" @Published var isLoggedIn: Bool = false}struct UserView..
1차 앱 승인 이후 DetailView의 UI를 변경하고 이전에 놓쳤던 오류 및 구현을 모두 마무리하고 2차 업데이트 심사를 넣는 것을 마무리로 최종 프로젝트가 거의 마무리 되었다.이후 유저 이벤트를 진행할 예정이며 이 내용을 바탕으로 부족한 점이나 수정해야할 점을 업데이트 해 나갈 예정이다. UI 수정한 내용은 이전 포스팅에서 다뤘으니 이번에는 추가적으로 수정했던 오류 및 구현에 대해서 기록하고자 한다. 지출 페이지 내 삭제 이후 데이터 적용지출 페이지 내 지출 데이터를 삭제 한 이후 데이터가 firebase 내 정상적으로 삭제되는 점을 확인했으나, 삭제 이후 다시 지출 페이지를 확인하는 페이지로 가면 이전에 한번 데이터를 불러온 값이 유지되어 삭제된 데이터가 사라지지 않는 문제가 있었다. 원인을 파악..
업데이트를 진행하면서 이전 앱에서도 구현되지 않았던 메이트 구현 중 메이트 목록을 수정할 수 있도록 구현하였다. 이전에는 메이트 목록을 수정하려면 전체 목록이 사라지고 처음부터 다시 입력을 해야했지만, 업데이트를 진행하면서 해당 내용도 같이 구현했으나, 그 과정이 순탄치는 않아서.. 기록으로 남겨두려고 한다.. 먼저 메이트를 추가해서 DetailInputVC에 mateCollectionView에 들어가도록 하는 내용은 미리 구현이 되어있었다. 여기서 다시 메이트 추가를 누르면 지금 가지고있던 메이트컬렉션 뷰를 메이트VC로 보내 이전에 선택되어있는 값은 그대로 선택되어있도록 구현하려고 한다. 새로운 PinLog 일 때 메이트 값 저장func collectionView(_ collectionView: UIC..
앱이 승인된 이후 우리 팀은 피드백 및 팀 회의를 통해 아쉬운 UI 및 우리의 방향성을 조금 더 부각 시켜줄 수 있도록 UI를 변경하기로 결정하였다. 가장 중요한 부분인 Detail , DetailInput 쪽의 UI를 대대적으로 업데이트를 할 예정이다.이 내용은 기존의 구성했던 UI 인데, 스크롤을 통해 맵과 사진을 변경해 컨텐츠가 보여지고 있으나 이부분이 이용자가 사용이 불편하고 사진과 맵 모두 이용자에게 보여줄 수 있는 방법을 선택할 수 있도록 수정했다.UI만 변경하는 것이라 별로 어렵지 않게 진행할 수 있다고 생각했지만 구현 로직이 변경되면서 많은 부분이 수정되어야 했다. 다음 글에서는 구현 로직 중 수정에 애먹고 뒤늦게 깨달아 해결 했던 내용을 기록하고자 한다.
오늘은 3번째 리젝 사유를 알아보고 이 내용을 어떻게 수정했는지, 그리고 다시 심사 진행 후 합격한 사실까지 정리해보려고 한다 🙂3차 reject먼저 3번째 리젝 사유는 로그인을 해야 앱에 들어갈 수 있으며, 로그인을 하지 않아도 비회원 유저가 앱을 사용할 수 있도록 수정하라는 내용의 리젝트 사유였다..(이건 미리 알려줄 수 있는 사유인데.. 이전거 다 수정하니까 뒤늦게 알려주네..)그럼 이제 기존에 로그인을 해야 접속 가능했던 앱을 로그인 없이 핀로그를 볼 수 있도록 하고 그 이후에 특정 기능을 사용할 때 로그인 안내를 하는 방향으로 수정을 진행하였다. 비로그인 상태 설정먼저 루트 뷰 컨트롤러를 변경하여 로그인 시점이 아닌 WanderBoard 로 바로 들어올 수 있도록 구현하였다.상세 페이지는 볼 ..