1. 기획의 중요성
- 기획단계에서는 개발을 고려한 기획과 UX/UI를 고려한 기획이 있다.
1-1. 개발을 고려한 기획
예로, 로그인 과정에서 구글, 카카오, 애플 로그인으로 구성했다.
(애플 생태계인 앱스토어에 앱을 올리려면 애플 로그인을 필수로 포함하도록 한다.)
근데 애플 로그인은 앱이 실행되는 동안 사용자 정보를 처음 한 번만 제공한다.
이를 모르고 회원가입에서 한 번 정보를 가져오고, 회원가입 완료 후 로그인 페이지로 돌아가서 정보를 한 번 더 가져오려고 하니까 정보가 안넘어왔다.
그래서 앱 출시 후 파일럿 유저가 애플 로그인으로 회원가입을 했는데 로그인에서 오류가 나는 상황이 있었다.
이 경우에는, 회원가입 시 받아온 정보를 변수에 담아두었다가 회원가입이 완료되고 로그인 페이지로 넘어갈 때 정보를 같이 보내야 한다.
추가로, 최근 애플에서는 이메일로그인 시 이메일 가리기 기능을 만들었다.
애플 아이디로 사용하는 진짜 이메일이 아닌 암호화된 이메일을 보내주는 것인데, 이와 같이 실제 유저의 이메일 정보를 알 수 없다는 점을 인지하고 있어야 한다.
1-2. UX/UI를 고려한 기획
실제로 앱을 만들고 수정해보니 이 기획이 더 중요한 것 같다...
UX/UI를 고려한 기획이 일반적으로 말하는 기획에 더 가깝다.
사용자 편의를 위해 어떤 과정으로 앱 사용 여정을 설정 할 것인지, 그 와중에 디자인적 요소는 어떻게 할 것인지, 우리 앱의 정체성과 스토리를 어떻게 담아낼 것인지와 같은 심오한 부분까지 고려하고 결정해야 한다.
이 단계에서의 기획이 조금만 바뀌어도 개발 부분에서는 진짜 크게 고생한다. 다 갈아엎어야 할 수도..?
그리고 한 부분 수정하면 다른 부분에서 문제가 발생하는 사이드이펙트 문제들이 폭발한다.
1-3. DB 구조 설계
기획 단계가 어느정도 정리되면, DB 구조도 생각해서 만들어야 한다.
기능이 추가될 수록 DB 구조가 바뀌게 되는데, 이게 바뀌면 생각보다 골치아프다.
가능한 수정이 용이하게 설계하고, 항목이 추가되더라도 오류가 발생하지 않도록 만들어야 한다.
DB는 Firebase를 썼는데 사용하기에 어렵지 않아서 다행이다.
아 Firebase는 규칙을 설정해서 어느정도 보안기능이 추가되어 있다.
2. 앱스토어 업로드
2-1. 앱스토어는 개인정보를 중요하게 생각한다.
그래서 회원가입 시 성별, 나이정보를 받는 것에 매우 민감하게 반응한다.
이 정보가 왜 필요한 것인지 계속 물어보고, 성별의 경우는 남, 여 가 아닌 남, 여, 선택안함 과 같이 만들라고 요구한다.
추천시스템 구동을 위해 성별, 생년월일 정보가 필요하다고 몇번이나 리뷰어에게 답변을 하고 승인이 되었는데,,
그 다음버젼 업로드 하는데 똑같은 이유로 거절당했다.
그래서 같은 이유로 답변을 보냈으나 승인 해주지 않았다.
두번째는 너무 완강해서 일단 수정하고 올리긴 했는데 몇번 더 시도해볼까 한다.
2-2. 리뷰어는 계속 바뀐다.
리뷰 요청을 할 때마다, (이전 리뷰어가 지적했던) 기존의 문제점들을 어떻게 해결했는지
혹은 왜 그렇게 했는지(위의 개인정보 문제)를 메세지로 적어주어야 같은 문제로 거절당하지 않는다.
3. 오류 시 대처사항
- flutter clean
- 라이브러리 간 의존성 문제 dependency
- 테스트 H/W를 아이폰, 아이패드 번갈아가면서 release 하다보면 오류가 발생한다.
가능하면 하나의 기기로 테스트하는 것이 좋다.
(물론 작동은 둘 다 되어야 한다. 리뷰어가 생각보다 아이패드로 테스트를 많이 하더라..)
- Xcode로 Archive할때, 버전관리 잘 해야한다.
1.1에서 2.1로는 수정 가능하지만, 2.1에서 1.2.1로는 수정이 안된다.
4. 마치며...
사실 만들면서 발생하는 오류는 정말 많다.
앗 정리해야지! 해서 잠깐 적은게 요정도이고
프론트에서 발생하는 문제, 백에서 발생하는 문제 등... 진짜 오만가지 오류가 다나온다.
(물론 해결방법도 찾으면 다 나오긴 한다.)
생각날 때마다 잘 정리해 둬야겠다.
'앱 개발' 카테고리의 다른 글
[1인 앱 개발] 보드게임 추천 커뮤니티 앱 '놀까' 개발 후기 (0) | 2024.07.12 |
---|---|
앱 구조도 (0) | 2023.03.11 |
비전공자 앱개발 도전기 (0) | 2022.11.30 |
앱 만들기 (0) | 2022.11.30 |
댓글