본문 바로가기
UIKit Project/UIKit Troubleshooting

[날씨앱] 앱스토어 출시 도전과 세 번의 리젝! 이 앱...출시할 수 있을까? (앱스토어 앱 제출시 주의사항, 앱 crash log 확인하고 해결하기, 리젝 해결하기)

by thekoon 2023. 8. 10.

한 달 반 정도에 걸쳐서 드디어 날씨앱을 앱스토어에 제출하게 되었습니다!

와~!

 

저번에 멋사 앱스쿨을 하면서 

SwiftUI로 최종 팀 프로젝트 부트캠핑 앱을 성공적으로 출시해 본 경험이 있었지만 (물론 많은 리젝과 우여곡절을 뚫고..)

이번에 UIKit으로, 혼자, 프로젝트를 마무리하고 출시하게 되어 뭔가 더욱 뜻깊고 보람찬 것 같았어요!

 

앱 이름은 고민하다가 앱스쿨에서 센스있는 작명으로 도와줬던 친구에게 부탁해

"날씨의 i"로 정하게 되었습니다!

뭔가 이름도 귀엽고 듣자마자 제 마음에 들었습니다

 

이 앱은 디자이너가..없이 저 혼자 만든 앱이다 보니

아이콘은 예쁘게 만들진 못하고

sf심볼을 이용해서 간단하게 만들었습니다!

날씨 아이콘과 알림..을 합쳐서 만들었는데

혹시나 측은지심을 지니신 디자이너분 계시다면 연락주세요..ㅎㅎ

 

이번에는 저번에 만들면서 넣지 못했던 앱스토어 미리보기도 넣어보고, 

조금 엉성하지만 처음으로 피그마를 활용해 앱스토어 스크린샷도 넣어봤습니다!

(사진 모델은 제 친동생에게 부탁해 햄버거 하나로 섭외 완료했습니다ㅎㅎ)

만들고 보니 꽤 그럴듯해 보이죠?

주의사항이 있으면 미리보기와 스크린샷은 애플이 꼭 설정한 해상도로 첨부하셔야 됩니다!

스크린샷은 피그마에서 알맞는 사이즈를 설정하고 첨부하면 되서 간단하지만

미리보기는 동영상 해상도를 조정하기 조금 힘들더라구요

찾아보다가 저는 파이널컷 프로로 프로젝트를 추가할때 커스텀으로 해상도를 조정해서 영상을 만들었습니다.

길이도 30초 이내로 만드셔야 돼요!

 

미리보기에서 간단하게 시연했던 영상도 첨부합니다!

이렇게 내가 좋아하는 사람이 매일 오늘의 날씨를 알려주고,

비 많이 오는 장마철에 우산을 잊지말고 챙기자!가 제가 처음에 생각했던 대략적인 컨셉이었습니다.

만들면서 처음 생각과는 조금 다르게 만들어졌지만

원래 컨셉에서 많이 벗어나지 않아서 마음에 들었습니다.

 

이렇게 신나게 아카이빙을 했는데 조금 헤맸던 부분이

이번앱은 저번과 다르게 Target에

NotificationContentsExtension을 추가했기 때문에

이렇게 각자 따로 Profiles를 만들어서 적용해야 되더라구요

 

이렇게 아카이빙을 하고 신나게 앱을 제출했는데..!

역시 리젝이 되었습니다.. 허허

리젝내용을 살펴보면 크게 두 가지인데요

1. 무한로딩이 된다.

2. 앱 스크린샷 캡쳐가 맞지 않다 였습니다.

1번은 제가 제출할때 메모에 써놨었는데

제 앱은 한국 기상청 서버를 사용하다보니 한국 좌표로만 쿼리 요청이 가능합니다.

그래서 위치를 한국 좌표로 설정한 뒤에 테스트를 해야하는데 그 부분이 제대로 안 된것 같아서 다시 한번 자세히 설명했습니다.

2번은 제 앱이 아이패드도 지원하기때문에

아이폰에서 만든 스크린샷과 미리보기를 아이패드용으로 해상도만 고쳐서 제출했었는데 딱 걸렸네요ㅎㅎ

미리보기 화면에서 해상도가 달라서 옆에 검은 화면이 있으면 안되고,

아이패드 스크린샷에는 아이패드 화면이 캡쳐되어야 한다고 합니다! 혹시 아이패드 앱까지 지원하시는 분들은 아이패드에서 따로 캡쳐를 하셔야 됩니다.

 

저는 아이패드는 일단 제외하고 주 타겟층인 아이폰만 제출하기로 했습니다.

 

그리고 설레는 마음으로 다시 하루를 기다렸는데..

또 리젝이었습니다..ㅠㅠ

사유를 보니 제 iOS로 시연영상을찍어 보내라는것 같았습니다.

이런적은 처음이었는데 아마 미국에서 테스트할때 한국좌표를 설정하는게 불가능해서 그런가? 싶었습니다.

그래서 앱 미리보기도 제 실 기기로 시연해서 첨부한거라고 설명하고, 새로 시연하는 영상도 첨부해서 보냈습니다!

 

그리고 하루를 더 기다렸는데..!

한 번 더 리젝이..앱에서 크래시가 났다고 하네요

이런 적도 처음이라 좋은 경험이다~ 하면서 첨부한 .txt 파일을 열어봤는데...? 응..? 이게 뭐지...해서 찾아봤는데

프로젝트의 Window - Devices and Simulators로 들어가서

View Device Logs를 들어가고, 애플에서 첨부해준 .txt파일을 .crash 확장자로 바꾼 뒤, All Logs로 끌어넣으시면 됩니다.

 

이렇게 해도 잘 모르겠어서 GPT에게 물어보니 오..??

이렇게 읽기 쉽게 알려주더라구요!! 그래서 해당 부분을 확인해보니

print() 부분에서 reegion에 강제언래핑을 써서 저 부분때문에 앱이 crash 되었습니다..

프린트 문이라 괜찮겠지하고 넣었었는데 앞으로는 프린트 문에도 절대절대 강제언래핑을 하지 않겠습니다!!

그렇게 코드를 수정하고 마지막으로 앱이 잘 돌아가는걸 확인하고 다시 앱스토어에 제출했습니다!

다음 글은 앱스토어 링크를 첨부하는 글이 되면 정말 좋을 것 같습니다!

조금만 기다려 주세요~!