저번에 프로젝트에서 안드로이드 푸시알림을 구현한 것에 이어 ios 푸시알림을 구현해야 했다.
알아보니 안드로이드 보다 훨씬 복잡했다.
spring과 firebase에서 추가로 APNS를 이용해야 했는데 이 APNS를 연동하기 위해서는 맥 환경이 필요했다.
하지만 난 윈도우 환경이라 가상환경을 설치해야 했다.
대표적으로 Vmware와 Virtualbox가 있었는데 나는 Virtualbox를 사용했다.
VirtualBox를 통해 Mac os 가상환경을 설치했지만 문제가 있었다.
APNS를 연동하기 위해 Xcode를 사용해야 했는데 Xcode를 사용하기 위한 버전보다 Mac 버전이 너무 낮았다.
Catalina 버전을 다운했는데 너무 예전 버전이었다.
그래서 Mac os 버전을 가장 최신 버전인 Vectura로 업그레이드를 했다.
여기서 용량 문제가 발생한다. 가상환경을 설치한 만큼 60기가를 비워뒀지만 이마저도 부족했다.
비울 수 있는 만큼 비웠지만 부족했다...
결국 Mac 버전을 업그레이드 하는 것이 아니라 처음 설치부터 최신 버전을 설치했다.
이 과정을 하는데만 일주일이 걸렸다... 한 단계를 진행 할 때마다 기본 4시간이 걸리다 보니 엄청 오래 걸렸다...
참고로 Mac os 버전을 가장 최신버전이 아닌 적당한 최신버전을 설치했다. 가장 최신인 Ventura가 아니라 Big Sur 버전을 설치했다.
이번에는 Xcode 버전이 맞지 않았고 알아보니 Mac os 에 맞는 Xcode 를 수동으로 깔아주어야 했다.
방법을 찾아 직접 깔았다...
성능이 좋지 않은 노트북에서 이런 과정들을 하다보니 클릭 한번 한번이 너무 힘들었다..
정상적인 성능으로 해도 오래걸리는 ios 푸시알림 과정을 노트북으로 가상환경을 통해 하려니 너무너무 오래걸렸다.
이런 이유로 ios 푸시알림을 하지 않으려고 하는 것 같다.
결국 맥을 가지고 있던 팀원과 개발 일정을 바꿔 같이 환경설정을 했다.
ios 푸시알림은 무조건 맥으로 해야할 것 같다...
간단하게만 생각했던 푸시알림에서 막힐 줄 몰랐다.
역시 프로젝트를 진행할 때는 정해놓은 일정대로 잘 된적이 거의 없는 것 같다.
현재는 프론트에서 ios 푸시알림을 위한 디바이스 토큰의 바이트가 너무 크게 나오는 문제가 발생했다.
알아보니 출력 형태를 바꾸는 방법이 있었고 이를 써봤지만 이 방법도 되지 않았다.
알아보니 찾아본 설명들은 swift기준이었지만 기존 프론트에서는 flutter를 사용하고 swift는 사용하지 않았다.
지금은 프로젝트를 확장하면서 swift도 사용해 이 방법을 사용할 수 있게 되었으니 한 번 시도해봐야겠다.
'개발 일기' 카테고리의 다른 글
[Spring/MySQL] sql_mode=only_full_group_by 오류 해결 (0) | 2023.08.09 |
---|---|
Spring, Firebase 연동을 통해 푸시알림 구현 하면서 생긴 문제점 (0) | 2023.07.09 |