스파르타코딩 클럽/기초

iOS | AppStore에 배포하기(feat. 한 큐에 바로 성공!)

UDDT 2025. 6. 21. 21:03

앱 배포 전 실기기 빌드로 테스트하기

 사전 준비 

    팀프로젝트를 하게 되면, 실기기 빌드를 위한 초기세팅을 해줘야 한다

   "엥? 빌드를 할건데 초기 세팅을 한다고?" 할 수도 있다

 

    혼자 프로젝트를 진행할 때는 Automatically manage signing이 켜져 있어 문제가 되지 않는다

 

   이 체크 덕분에 Xcode가 내부적으로 알아서 Provisioning Profile을 만들어주고, 

   내부적으로 App ID, Signing Certificate, Device를 인지해서 실기기 빌드가 가능하도록 도와준다

 

   * Provisionig Profile이란?

    <링크 첨부 예정>

 

  정리하자면, 프로젝트 파일은 동일하지만 팀원들의 기기는 각각 다르기 때문에 별도의 설정을 해줘야한다는 것이다

 

 App ID 등록하기

    https://developer.apple.com/account/resources/identifiers/list

 

로그인 - Apple

 

idmsa.apple.com

 

    Description에는 그냥 앱 이름을 적어주었다

 

 팀원 Device 등록하기

    https://developer.apple.com/account/resources/devices/list

 

로그인 - Apple

 

idmsa.apple.com

 

  + 버튼을 누르고,

 

   여기에 작성될 UUID는 팀원들에게 받아서 작성하면 된다

 

   UUID를 확인하는 방법은 다음과 같다

  1. 맥북과 휴대폰 연결

  2. Window - Devices and Simulators 클릭

  3. 팝업 페이지에서 identifier 확인

 

  다시 홈페이지로 넘어가서 UUID와 함께 필요한 정보를 입력해주면, 다음과 같이 팀원들의 Devices를 등록할 수 있다

Certificates 설정하기1

  https://developer.apple.com/account/resources/certificates

 

로그인 - Apple

 

idmsa.apple.com

 

    위 사이트에 들어가 로그인을 하면, Certificates를 설정할 수 있다

 

   위 페이지에서 + 버튼을 누르고,

하나씩만 선택이 가능하다

 

    개발할 때 사용할 인증서 / 배포할 때 사용할 인증서 각각 해당하는 항목에 맞게 선택해준다

    (하나씩 선택이 가능하고 나는 둘다 만들었다)

 

  그러면 이렇게 파일을 선택하여 첨부하라고 나오는데, 이 파일을 준비해보자

 CSR(Certificate Signing Request) 생성하기

    먼저 cmd + spacebar를 눌러 검색창을 띄우고, 키체인 접근이라고 검색하자

  그러면 다음과 같은 창이 나온다

 

     상단 키체인 접근 - 인증서 지원 - 인증 기관에서 인증서 요청을 눌러준다

 

     여기서 이메일은 본인의 애플 개발자 계정 이메일이다

  디스크에 저장됨을 선택하고 계속을 누르면 다음과 같은 파일이 생성된다

 

   바로 여기서 만들어진 파일을 위에 첨부하라던 파일에 넣어주면 된다

  *배포와 개발 둘다 만드시는 분은 해당 파일이 헷갈리지 않도록 폴더링을 해서 파일을 관리하면 된다

 

 Certificates 설정하기2

      위에서 만든 파일을 첨부해주면, 다음과 같이 Provisioning Profile을 다운로드 받을 수 있다

 

    그러면, 다음과 같은 파일이 생긴다

 

    이 파일을 더블클릭하면, 키체인에 등록이 된다

   이제 이 인증서를 우클릭하고 내보내기를 하면 된다

    * 이때 모든 항목을 누르고 내보내기를 하면 p12가 활성화가 안되어 있다. 반드시 인증서 메뉴를 누르고 내보내기 하자

 

 

  토글을 열고 두 파일 모두 선택한 뒤, 내보내기를 누르고 파일 포맷을 .p12로 하면 된다

 

   이렇게 하면, 다음과 같은 파일이 나온다

  이때 비밀번호를 입력하라고 나오는데, 향후 이 비밀번호를 팀원들에게 전달해야하니 잘 기억해두자

 

 

    이로써 팀원과 공유할 공개키는 만들어졌다

 

 프로비저닝 프로파일(Provisioning Profile) 만들기

      https://developer.apple.com/account/resources/profiles/list

 

로그인 - Apple

 

idmsa.apple.com

 

   + 버튼을 눌러준다

 

   항목에 맞게 해당되는 메뉴에 체크하고 Continue를 눌러준다

 

   그러면 App ID를 선택하고, Continue를 누르면 된다

 

 

   마찬가지로 목적에 맞게 선택하고 Continue

 

     여기서 Generate를 누르면 파일이 생성된다

 

   다운로드를 누르면,

 

   다음의 파일이 생성된다

 

   이제 2개의 파일(p12, provision)을 팀원들에게 공유하면 된다

 

 Xcode에 세팅하기

   먼저 p12 파일은 더블클릭해서 설치해준다(비밀번호는 공유자에게 받아서 입력)

 

   그리고 provision 파일을 세팅해준다

 

  상단의 Automatically manage signing 체크 해제,

  Provisioning Profile 클릭

 

  import Porfile을 클릭해서 프로비저닝 파일 추가

 

   상황에 따라 Debug, Release에 맞게 추가

 

   이렇게 하면 실기기 빌드 후 테스트 준비는 사전 준비는 모두 마쳤다

 

앱 배포 전 TestFlight에 올려 테스트하기

 사전 준비 

   TestFlight에서 해야하는 사전 준비는 팀원 초대다

  https://appstoreconnect.apple.com/access/users

 

https://appstoreconnect.apple.com/login?targetUrl=%2Faccess%2Fusers&authResult=FAILED

 

appstoreconnect.apple.com

   먼저 사용자를 눌러 팀원들을 추가해준다

 

 

    팀원들이 메일로 들어가 초대를 받으면, 앱 관리 또는 마케팅 등 각자의 역할이 추가된다

 

 

    다시 AppstoreConnect로 돌아가서 

  https://appstoreconnect.apple.com/

 

https://appstoreconnect.apple.com/

 

appstoreconnect.apple.com

 

    TestFlight에서 테스터 그룹을 추가해준다

 

    이후 그룹에 테스터를 추가해주면

 

   

   

 

    다음과 같은 초대 이메일을 받아 TestFlight를 통해 앱을 다운로드 받을 수 있다

 

AppStore 배포하기 

 사전 준비물(친구비 내기)

  AppStore에 앱을 배포하려면, 사전 준비물이 필요하다

 애플 계정, 그리고 '친구비'이다

 Apple Developer Program 등록하기

     먼저, 애플에 친구비를 내보자

https://developer.apple.com/kr/

 

Apple Developer

Apple 플랫폼에서 개발할 절호의 기회입니다

developer.apple.com

 

  위 사이트에서 계정을 누르고 로그인해서 들어가면,

 다음과 같이 친구비를 낼 수 있다

 

    129,000원을 내고 친구비를 내면 이제부터 판도라의 상자를 열어볼 수 있다

 프로젝트 세팅 바꾸기

     혹시나, iPhone에서만 사용할 앱이라면, 프로젝트 세팅을 미리 바꿔주는 것이 좋다

   처음에 프로젝트를 확인하면 아래와 같이 iPhone부터 Apple Vision까지 들어가 있는데,

   이 상태로 아래의 Connect에 올리면 iPad 사진도 요구하게 된다

   그냥 iPhone에서만 돌아가는 앱이라면 Project - General - Supported Destinations에서 iPhone만 남기고 다 지우자

 

 그리고 나중에 심사를 넣을 때, 수출 관련 문서 누락이라는 경고가 뜰 수 있는데

 

       이게 귀찮으면, 미리 info.plist에 아래의 세팅을 해주어도 된다

 

    단, 암호화 알고리즘을 적용하지 않았을 경우에만 위 세팅을 해주면 된다

 AppStore Connect : 앱 정보 등록하기

    이제부터 조금 헷갈리는 과정들을 하나하나 정리하면서 해나가야 한다

   우선 AppStore Connect로 들어가자

 

https://appstoreconnect.apple.com/apps

 

https://appstoreconnect.apple.com/login?targetUrl=%2Fapps&authResult=FAILED

 

appstoreconnect.apple.com

 

    여기서 로그인을 하면 다음과 같은 화면이 나온다

 

    여기서 앱을 누르고 들어가면,

 

 

    이렇게 앱을 추가하라고 나온다

 

   이름을 작성하고, 번들 ID는 연동되어 있다면 체크가 가능할텐데

  연동이 되어 있지 않다면 직접 등록해줘야 한다
  (나의 경우 신규 가입한 애플 아이디라서 설정하는데 조금 애를 먹었다)

 

  SKU는 앱의 고유한 ID인데, 통상적으로 앱 번들 아이디의 2글자를 따서 사용한다고 한다(com.curating)

  액세스는 전체 엑세스를 눌러주면 된다

 

  이제부터 문서를 상세하게 잘 작성해주어야 한다

  가장 상단에 들어가는 사진은 앱스토어에 올라가는 사진으로,

  규격에 맞춰 넣어주면 된다

 

  위에서 프로젝트 세팅을 잘 해주었다면, iPad 사진을 등록하지 않아도 된다

 

 

  * 지원 URL 예시

https://docs.google.com/forms/d/e/1FAIpQLSd2FwKy-P8zsJsDfD21-hbacmh0bHISFjoTQMo_JLpRowdBrg/viewform?usp=send_form

 

이츠오케이 문의사항/버그제보 페이지

안녕하세요 이츠오케이팀입니다 문의사항이나 발견하신 버그가 있으시다면 이 페이지를 통해 문의해주시면 감사드리겠습니다!

docs.google.com

 

 

   이렇게 작성을 하고 중간중간 저장을 눌러 문서가 날아가지 않도록 처리해준다

 

 AppStore Connect : 앱이 수집하는 개인정보 작성하기

    다음으로는 앱이 수집하는 개인정보를 작성해야 한다

 

 

    * 개인정보 처리방침 예시

https://radial-fascinator-e2d.notion.site/21951cd1bb7c8062b80efd7650eb7778

 

개인정보 처리 방침 예시 | Notion

제1조 (목적)

radial-fascinator-e2d.notion.site

 

 AppStore Connect : 가격 및 사용 가능 여부 설정

    먼저, 국가 및 지역 사용 가능 여부를 선택해준다

  

  이후 가격 설정을 눌러 가격을 설정해준다

  * 무료 앱일 경우 0.0원 선택

  (우리는 등록할 때 원화를 선택하고 0.0원으로 등록했다)

 

  이후 다음과 같은 연령 설정 페이지에서 연령을 설정해주면 된다

 

 Xcode Archive하고 제출하기

    프로젝트 파일을 열어서 빌드하는 시뮬레이터를 Any iOS Device(arm64)로 바꿔준다   

 

   이후 Product - Archive를 누르면

 

  다음과 같은 화면이 나온다

 

  먼저 Validate App을 누르고, 완료가 되고나면

Distribute App을 누르면 된다

 

  Distribute App까지 통과하면

 

   다음과 같은 화면이 나오고, Distribute를 누르면 App Store Connect에 올라간다

 

   이제 AppStore Connect로 가서, 빌드 추가를 누르면 해당 파일을 선택할 수 있다

 

   여기서 빌드를 추가할 때, 앞서 말한 수출 관련 문서 누락이라는 경고가 뜰 수 있는데

 

    상황에 맞게 선택하고 저장을 누르면 된다
  (본인은 암호화 알고리즘을 적용하지 않은 앱이라서 마지막 항목을 선택했다)

 

   모든 절차를 다 끝냈으면 저장을 누르고, 심사에 추가 버튼을 누르면 된다

   * 심사 추가 버튼을 누를 때 미흡한 부분이 있으면 누락된 절차가 무엇인지 띄워주기 때문에 걱정없이 누르자

 

    우리팀의 경우 19일에 제출해서, 바로 다음 날인 20일 15시 경 승인을 받았다