전체 글
[오류] SwiftData - Accessing Environment<ModelContext>'s value outside of being installed on a View. This will always read the default value and will not update. & View outside에 위치한 @Query를 사용하여 데이터 불러오기 실패
1. 내용 캡쳐- 프로젝트를 진행하면서 SwiftData를 사용하게 되었는데, 삽입된 데이터 값들을 여러 뷰에서 사용해야 했고 각각의 뷰에서 @Query를 실행해서 데이터를 불러오는 것이 아닌, 데이터를 관리하는 하나의 싱글톤 객체가 있으면 어떨까?라고 생각해보았다. ObservableObject로 선언된 Class를 생성하고 클래스 내부에서 @Query를 사용해서 SwiftData에 저장된 데이터를 가져오고, @Published로 선언된 객체를 사용해서 데이터를 관리하고자 하였다. 하지만 @Query를 사용해서 데이터를 불러온 결과값이 들어오지 않는다는 것을 알게 되었다. 2. 원인 분석- 불가능한 이유를 알아보고자 찾아봤지만, 같은 방식을 사용하거나 공식 문서에서 명확한 답을 얻을 수 없어 Apple..
[MC2] 유저 파악하기 실패의 기록
이번 프로젝트의 목표는 '사용자를 이해하기'였다. 마지막날 팀 회고를 진행하면서 우리팅이 사용자를 제대로 파악했는지의 질문에 모든 팀원들이 NO라는 답변을 했다. 비대면 인터뷰와 채팅을 통한 소통을 하는 약 2주간의 대화속에서 우리는 사용자에 대해서 정확하 파악했다고 생각했다. 하지만 생각보다 사용자는 있는 그대로 이야기하기보다 상황에 맞춰 말을 다르게 전달한다는 것을 알게 되었고, 이와 더불어 인터뷰를 하는 우리도 모든 키워드들을 같은 중요도로 보지 않고, 이전에 우리 내에서도 이야기가 나왔거나 관심이 있는 범위에 속해있다면 해당 부분들을 스포트라이팅하면서 다른 것들을 보지 않으려고 했을지도 모르겠다는 생각이 든다. * 이번 프로젝트는 1명의 사용자를 대상으로 서비스를 기획하는 프로젝트로, 일반적인 기..
[Bridge2] 조금 늦은 정리와 계획세우기
이번 브릿지는 생각보다 짧게 지나갔고, 일주일이 넘게 감기에 걸려서 고생중이여서 열심히 버티고 있는 시기이다.건강 이슈로 에너지가 떨어져서 내가 하고싶은 일, 해야 하는 일에 지장이 가는 것을 극도로 싫어하는터라 규칙적인 생활, 건강관리에 나름 신경을 쓴다고 생각했는데, 딱 하루 낮밤이 살짝 바뀌었다고 이렇게 감기에 걸려버리다니... 다음 생에는 철도 씹어먹을 수 있는 사람으로 태어나고 싶다.... 브릿지 기간동안 내가 해야겠다고 결심한 것은 Apple Developer Academy에서 진행하는 프로젝트를 Git, Miro를 통한 정리를 하고 싶다고 결심했고, 하반기 공채기간을 핑계로 집중하지 못했던 나의 앱의 V1.0.1 배포를 해야겠다고 생각했다.우선 미로에다 내가 공부하고 싶은 것, 지금까지 해온..
[오류] Local Authentication 보라색 오류 발생 - Publishing changes from background threads is not allowed; make sure to publish values from the main thread (via operators like receive(on:)) on model updates.
1. 내용 캡쳐 - 로그인 이전 View를 로그인 성공 여부에 따라서 메인 뷰로 Route해주기 위해서 @Published를 사용하였습니다. 로그인 방식은 Local Authentication을 사용하는 방식을 채택하였으며, 인증을 수행 후 성공 시 아래 코드 27줄에서 볼 수 있듯, @Published된 변수 값 변경을 통한 뷰의 전환을 수행하도록 하였으나 보라돌이 에러를 마주치고 말았다. Xcode에서 잘 만나기 힘들지만 중요한 순간에 한번씩 만나게 되는 보라색 에러는 주로 메모리 관련된 오류이며, 당장에 문제가 없을 지라도, 충돌 시 앱이 동작하지 않을 수 있는 중요한 에러 중 하나이다. 2. 원인 분석 - Publishing changes from background threads is not ..
[오류] Alert 다중 사용 시 1개만 실행되고 나머지는 실행 안됨
1. 내용 캡쳐 - 기존에 생각한 방식은 텍스트를 입력할 수 있는 Alert가 먼저 나오고, 텍스트 입력 후 '완료' 버튼을 누르면 해당 값이 기존에 생성된 Tag값과 같은지 확인하여 같은 경우 이름 중복에 대한 Alert가 뜨는 프로세스를 생각하였다. 따라서 아래와 같이 태그 생성 버튼에 텍스트 입력이 가능한 Alert를 생성해주었고, Alert 내부의 '완료' 버튼 클릭 시 태그 중복 여부 체크 후 Alert를 생성해주었습니다. 하지만 첫번째 텍스트 입력 Alert만 실행되고, 두번째 Alert가 실행되지 않았습니다. 2. 원인 분석 https://yyomzzi.tistory.com/m/8 [Issue 해결] SwiftUI에서 하나의 뷰에 여러 개의 Alert 나타내기 오느른..~ swiftUI로 앱..
[Nano Challenge 01] 프로젝트 꼼꼼하게 진행하기
이번 프로젝트 기간은 팀 프로젝트가 아닌 개인 프로젝트로 진행된다. 개인프로젝트의 장점은 내가 원하는 것을 내가 원하는 방식으로 진행할 수 있는 자유도가 높다는 것이다. 이전에도 그날의 기분에 맞춘 테마로 다이어리를 작성하는 앱을 개발한 적이 있었는데, 이번에는 (내가 마음 속 깊숙히 품고 있던) 나의 모든 것들을 저장하는 앱을 만들겠다는 기획을 하고말았다. 지금까지 앱 개발 프로젝트를 진행하면서 스스로 기획, 디자인, 개발을 하는 경우가 가장 많았던 것 같다. 항상 나름 생각대로 꼼꼼하게 디자인 했다고 생각했지만 이번에 배운 프로젝트 진행 단계를 따라가다보니 이런 확인 과정을 거치지 않았다면 개발을 하면서 디자인을 수정하거나 기획을 수정해야하는 일들이 발생했겠다는 생각이 들었다. 각각의 뷰를 분리해서 ..
[Bridge 01] 나의 첫번째 브릿지를 기록하며,
앞선 프로젝트를 끝내고 첫번째 브릿지 기간을 가지게 되었다. 브릿지에 앞서서 프로젝트 팀원들과 회고를 나누는 시간을 가졌고, 배움에 대하여 돌아보는 시간을 가졌다. 앞선 회고에서 내가 답을 찾고싶은 문제 중에 '배우고 익히지 말고 익히면서 배워요'라는 문장이 있다고 이야기 했었다. 여기에 의문을 가졌던 이유는 나의 과거 경험에서 익히면서 배우는 것에 궁극적으로 두려움을 느꼈기 때문이라고 이야기 했었다. 오늘도 멘토가 해당 문장과 발생할 수 있는 문제점(?)인 두려움에 대한 키워드를 이야기 했고, 내가 지금까지 가져왔던 고민에 대한 답을 찾을 수 있을 것 같은 느낌에 속전속결로 30분 뒤에 커피챗을 요청했다. 우리의 대화 내용을 정리해보면 다음과 같다. [나의 문제정의] '배우고 익히지 말고 익히면서 배워..
[Mini challenge 01] 끝마치며.
2024.03.11(월) ~ 2024.03.27(수) Apple Developer Academy @ POSTECH 3기로 들어와서 우리가 어떤 규칙을 가지고 어떤 사람들과 함께하는 공간, 시간을 만들어 갈지에 대한 이야기를 지난주까지 나누고 이번주부터는 프로젝트를 본격적으로 시작했다. 총 6개의 챌린지 중 첫번째로 진행되는 챌린지를 진행하며서 느낀 경험들을 정리해보도록 하겠다. 이번에 진행하는 Mini challenge 01은 CBL을 직접 경험하면서 Learning을 어떻게 하는지 배우는 것이 목표라고 하였다. 우리는 하나의 주제를 가지고 어떤 가치를 제공해 주고자 하는지에 대한 것들을 하나의 문장을 도출해 내는 과정을 지나고 있다. 이를 도출하는 과정이 그리 어렵다고 생각하지 않을지 모르겠지만, 팀원..