[Web] 웹의 영역은 어디까지인가
업데이트:
시작하며
서비스는 웹과 모바일이 동시에 제공되는 경우가 대부분입니다.
그래서 서비스를 운영하다 보면, 앱을 배포할 일도 생기는데요.
저도 어떻게 하다보니 모바일 배포를 할 일이 생겼고, 깨달은 점을 공유하고자 합니다.
안드로이드는 'apk 파일'
(Android 실행파일) 를 준비하면 비교적 간편하게 배포할 수 있지만,
ios의 경우, 'ipa파일'
(ios 실행파일) 만 있다고 해서 되는 것이 아닙니다.
또한, ios는 인증서도 1년마다 인증서를 갱신 해주어야 합니다. 😩
이것은 혼자 공부해서 하기에는 중도 포기를 부를 것 같은 내용이라 ios 배포 단계에 대해 공유하고자 합니다.
해당 내용을 바로 보시려면, [ios 배포하기] 를 눌러주세요.
그 전에, 한 가지를 더 공유하고자 하는데요.
🎯 읽기 전 주의사항!
최근에 있었던 부끄러운 일을 적으려고 하니, 저와 민망함을 함께 해주세요.ㅠㅜ 😅
혹여나 저처럼 민망한 일이 발생하지 않도록 깨달은 점부터 공유하고 갈게요!
문득 생긴 의문
‘모바일도 안의 내용도 사실 다 웹이야!’ 이라는 말이 궁금증의 시작이었습니다.
웹의 경우, 보안상의 이유로 웹서버와 WAS서버를 분리하듯이
모바일의 경우도 클라이언트에 노출되어서는 안되는 서버의 존재가 따로 있을 것이라 생각했습니다.
그 기술은 무엇일까!
제 유일한 앱개발인 Flutter로도, 클라이언트 단의 코드와 서버 단의 코드 부분을 함께 사용했지만,
프러덕션 레벨은 분명 서비스 로직을 담당하는 기술이 따로 있지 않을까 했던 것입니다.
그런데! 얼굴 인식으로 잠금이 풀린다거나 하는 앱의 네이티브 기능을 제외하면,
앱에서 보여지는 데이터도 모두 다 웹에서 사용하는 서버로 데이터를 뿌려준다는 것이었습니다.
(다시 말하면, 스프링으로 WAS서버를 만들었다면, 앱에서도 그대로 사용 가능하다는것.)
당시에 저는 “웹의 영역은 어디까지인가!!!” 하고 속으로 외쳤는데, 적고나니 머쓱하네요. 😅
“서버의 영역은 어디까지인가” 로 수정하겠습니다.
서버를 API형식으로 만들었다면 API서버가 되는 것이고,
프론트를 웹으로 할지, 앱으로 할지를 정하는 것입니다.
자 그렇다면, 이제 진짜 ios 이야기를 하겠습니다. 급 마무리.
ios 배포하기
아래 단계는 맥북을 이용하였습니다. 프로비저닝 프로파일을 만드는 방법을 정리하였습니다.
-
애플 개발자 사이트 로그인
아래 보이시는 화면이 떠야 준비가 된 것입니다. (연회비를 지불해야 됩니다.)
cf) 기존 돈을 지불하고 있는 Enterprise 계정이 있다면, 개발자 멤버를 추가 등록할 수 있습니다.
사용자 탭에서 Apple ID로 추가하면, 해당 메일로 초대장이 갑니다.
-
키체인으로 CSR(요청인증서) 생성
키체인 접근 > 인증서 지원 > 인증 기관에서 인증서 요청
-
애플로부터 Certificate 획득 (1년마다 갱신해야 함.)
-
App(Identifier) ID와 Device ID 준비
-
App ID : 해당 프로젝트의 bundle ID를 준비하시고, push알림이나 필요한 기능을 설정하여 만듭니다.
-
Device ID : 개발 및 테스트를 위한 용도로 사용됩니다. 실제 배포에서는 Device를 등록하지 않습니다.
아이폰을 맥북에 연결하고, Xcode에서 ID를 확인하시면 됩니다.
-
-
프로비저닝 프로파일 생성
-
개발 프로비저닝 : (Certi, App ID, Device ID)가 필요합니다.
-
배포 프로비저닝 : (Certi, App ID)가 필요합니다.
-
-
Xcode에 프로파일을 등록 (업로드)
프로비저닝 프로파일이 만들어지면, Xcode에 import 합니다.
-
빌드, ipa파일 생성
이제 빌드를 하시면 됩니다. config파일에서 새로받은 버전을 등록을 해놓으면,
저희가 앱을 실행했을 때, ‘업데이트가 있습니다’ 이게 뜨게 되는 겁니다!
-
테스트 진행하기
1) 안드로이드는 apk를 exe파일 옮기듯 옮기기만 해도 작동하지만, 아이폰은 아닙니다.
2) 아이폰은 ipa파일인데, 이를 실행하려면 Xcode의 도움을 받아야 합니다.
3) 테스트를 진행한다면, Xcode를 켜서 새로운 프로젝트 하나를 만듭니다.
4) 휴대폰을 맥북과 연결하고, Window > Devices and Simulators > +버튼 > 휴대폰 설치 완료
-
실제 배포
-
tomcat/application/…/sangjin.ipa 위치에 업로드 합니다.
(이 때 ipa파일 위치를 보고 놀랬던 것)
-
Xcode의 도움을 못받는 사용자 단의 경우, html의 plist파일로 유도하여 업데이트 진행합니다.
(WAS재기동은 웹 소스코드 변경시 필요)
-