티스토리 뷰

ios

[ios]앱스토어 배포 과정 및 후기

real_water 2021. 12. 27. 00:51

앱스토어에 처음으로 앱을 올리면서 배우거나 느낀점을 혼자 생각정리하려고 notion에 끄적였다가

처음 앱 개발하는 분들에게 도움이 되고자 올립니다.

글이 좀 횡설수설해도 이해해주세요ㅎㅎ


1.기획의 중요성 - 요구사항 명세가 왜 필요한지를 알게되었다

요구사항을 구체적으로 명시하지 않기 때문에 구현하는데 계속 방향성을 잃고, 더 돌아서 하는 느낌.

뭔가를 만들면 항상 하자가 생긴다.

물론 처음 ios개발을 하는 것이기도 하고, 혼자 실제 서비스될 앱을 만드는 것도 처음이기 때문에 어디부터 어디까지 기능 요구사항을 쓸지 모를 수 있다. 그럴 수 있다는 심심한 자기위로를 해보지만...

왜 교수님들이 그렇게 요구사항 분석하라고 시켰는지 4학년 막학기 종강한 이 시점에 이해해버린 예비백수

ios는 input창을 눌렀을 때 나오는 키보드 내리는 것조차 코드 한줄을 써줘야 내려간다.

핵심기능 구현을 다 해놓고 계속해서 나오는 에러에, 갈수록 추가되는 구현해야할 기능 목록들. 이때도 나는 동작만 잘하면 되는거지 하면서 그때그때 필요한 것들, 떠오르는 것들 써놓고, 물새는 곳 막는 식으로 구현해놔버렸다.

처참한 개발일지...

돌아보면 하지말라고 한 것들 다 해보면서 만들었던 것 같다

 

결국 어떻게 다 만들긴 했지만, 안을 까보면 앱이 돌아가는게 신기할 정도

(일명 굴러가는 쓰레기)


2.디자인

디자인의 중요성(1)

디자인은 개발전에 무조건 선행되어야 하는 요소이다. 처음 앱을 기획할 때는 디자인은 고려조차 하지 않았고, 나중되서는 그냥 구현하는대로 디자인이 흘러가는 느낌.

디자인을 하지 않고 구현하니까 디자인이 바뀌면서 코드도 계속 바뀌었다.

생산성이 심각하게 저하된다. 디자인이 바뀌면서 코드 바꾼 부분도 개발하는데 상당부분 잡아먹었다.

앱을 다 만들고 보니까 디자인 하기 전의 앱은 나라도 안쓸 것 같은 구린느낌의 디자인(물론 지금도 이쁘다는 것은 아니다)

원래 생각한 컨셉은 아이폰 기본 앱이었고, 이를 계속 고수하면서 디자인 안 할려고 버텼지만, 기본기능이 다 완성되고 봤을때는 심각한 수준이었다. 이제와서 생각하는 건 아무리 기본컨셉이어도 디자인은 필요하다. 기본 앱이라는 컨셉 자체가 디자인 컨셉이니까

결국 기본컨셉은 포기하고, 색을 입히기로 결정.

 

처음에 디자인툴 같은거 전혀 안쓰고 그냥 이런 느낌으로 만들어야겠다~ 하고 그냥 대충 도형으로만 그려놓았다.

(부끄럽지만 슬쩍 공개할께요...)

 

기능구현 얼추 다끝내고 봤을 때 뭔가 많이 이상하다는 걸 느꼈다.

대충 구글링 해보다가 Figma라는 사이트에서 디자인 하기로 결정.

아래 사진은 Before/After

 

디자인의 중요성(2)

1.모든 기기에서 호환되는 디자인

안드로이드도 마찬가지 이겠지만 아이폰도 휴대폰 기종이 다양하고 또 화면크기도 다양하기 때문에 아이폰8~13까지 모두 호환(?)되는 디자인을 만드는 것이 어려웠다. 나는 아이폰11을 쓰고 있어서 아이폰 12에서 테스트를 했는데, 나중에 아이폰8에서 애뮬레이터 돌리니까 화면이 많이 짤렸다. (1/3은 짤림)

이때부터 뭔가 잘못됨을 인지하고, 화면크기가 제일 작은 아이폰8이랑 제일 큰 13 프로맥스에서 테스트함.

아이폰8에 맞게 돌리니까 11이나 13에서 너무 비어보이고, 또 프로맥스에 맞추자니 8이 짤리고...

달력처럼 나오는 데이트피커를 사용하고 있어서, 이거를 어떻게 살려야 하나 고민하다가 버리고 결국 제일 작게 생긴 데이터 피커 사용함.

 

레이아웃

레이아웃 제약을 직접 주다보니 텍스트를 중앙에 맞추기 위해 제약을 주면 아이폰 8에서는 딱 중앙에 오던 텍스트가 프로맥스에서는 중앙보다 한참 위에 있고, 프로맥스에 맞추면 또 한참 아래있는, 모든 기기에서 텍스트를 중앙으로 맞추기 위해 뻘짓을 좀 하다가 번뜩 머릿속에 auto layout이라는 단어가 스쳐지나갔다.

 

레이아웃사실 지금까지 쓰고있던게 auto layout이었는데, 뭔지도 모르고 그냥 쓰고 있었던거지.다른 view 디자인(이라고도 뭐하지만)할때는 그냥 무지성으로 배치하고 있었는데. 어쨌든 detail view는 찾아보니까 stack view 같은거 있어서 이 안에 중앙으로 들어가야할 텍스트 들 다 때려넣고, 배치한다음에 이 stack view에다가 제약을 걸어주니 원하는 곳에 잘 배치되었다.

 

어쨌든 auto layout 검색하니까 정렬하는 방법도 같이 뜨고, stack view라는 걸 알게 되어서 바로 적용.

 

레이아웃 제약을 직접 주다보니 텍스트를 중앙에 맞추기 위해 제약을 주면 아이폰 8에서는 딱 중앙에 오던 텍스트가 프로맥스에서는 중앙보다 한참 위에 있고, 프로맥스에 맞추면 또 한참 아래있는, 모든 기기에서 텍스트를 중앙으로 맞추기 위해 뻘짓을 좀 하다가 번뜩 머릿속에 auto layout이라는 단어가 스쳐지나갔다.


3.테스트의 중요성

단위테스트를 이번에 처음 해보게 됨.

앱의 안정성에 대해 확신을 가질 수 있을까?

Core Data를 이용해서 데이터를 저장하는데, 전에 구현할 때 간간히 왜인지 모를 삭제 시 에러가 발생해서 이게 완전히 해결되었나에 대한 막연한 불안감이 있다. 정말 CRUD가 잘 작성이 되고 있나. 이거에 대한 확신을 가지기 위해서라도 좀 필요할 듯


4.개발자 계정 등록

애플 아카데미에 제출할 포트폴리오에 쓸려고 만든 앱인데, 앱을 다만들고서 보니까 계발자 계정구매하고 활성화 되는데  6일 걸린다고 하던데... 앱 심사하는데 2일, 지원 마감까지 2주도 안 남은 지금...

심사 한번이라도 리젝먹으면 끝날 듯. 제발!!!!! 

 

---------

12월 18일 오전7시 애플 개발자 계정 구매

12월 20일에 승인나고 계정 활성화 되서 바로 심사요청

12월 20일 저녁 6시에 심사 요청, 당일 밤 12시에 심사 끝남.(reject)


4.Reject

6시간만에 난 심사는 한번 리젝당했다.

리젝당하면 아래처럼 리젝당한 이유와 가이드라인, 그리고 문제가 되는 부분의 스크린샷을 보내준다

 

문제가 되는 부분 중 하나는 미리보기 스크린 샷에 'Test' 단어가 들어갔기 때문에...ㅋㅋ

 

21일 다시 심사 요청

22일 심사 끝(22시간 정도 걸림)

 


5.Welcome to App Store

심사가 통과하면 이런 메일을 받을 수 있다.

심사 통과하고 앱스토어에 앱이 올라갈때 까지 시간이 좀 걸린다고 했는데 나는 메일 확인하고 바로 들어가보니

앱이 올라가 있었다.

뚜둔!!

이상 저의 초라한 디데이앱 개발 후기였습니다😘😘


6.마지막으로(끄적임)

실제로 앱출시를 준비하면서 배우게 된 것들이 많았다.

코드를 깔끔하게 짜야한다는 것 외에도, 실제를 출시하지 않을 앱이었다면 신경쓰지 않았을 성능(처음 실행시 현재 4초 걸림 → 개선 예정, 1초대로 줄여볼 것), 저작권, 안정성 등등

실제로 서비스되어야 하기 때문에 디자인도 신경써야 했고 여기서 auto layout이라는 것을 새로 알게되었다.

또한 위젯을 구현하면서 swift UI사용법을 간단히 알게 됨.

앱이 완벽하게 구현되어야 한다.

토이 프로젝트에서는(이 앱도 토이수준이지만) 디데이가 되면 알람이 정확하게 제시간에 울려야 하고, 항상 울려야 하고, 앱이 절대 죽으면 안되고, 안정적으로 돌아가야 한다. 앱이 안정적으로 돌아가게 한다는 것에 상당히 신경을 많이 써야 했다.

그리고 아무리 잘만든 앱이라도 디자인이 구리면 절대 안쓰겠구나 라는 생각도 듬.

간격만 잘 맞춰줘도 깔끔해 보였다.

처음 디자인 할 때 글씨체나 색깔 등 디자인 가이드를 세워두고 쓴다.

디자이너들이 쓰는 색감 사이트가 있다.

 


7.구경하고 한번 하고 가세요

https://apps.apple.com/kr/app/post-your-dday/id1601157926

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함