앱스토어에 앱 등록하는 과정 정리

아이폰 앱을 Apple App Store에 등록하는 과정을 정리했습니다. 아직은 내용이 두서없지만 앱 등록할때마다  계속 개선할려고 합니다.

.

2026. 3. 17 최초작성

.

.

1. Apple Developer Program 가입

앱스토어에 앱을 출시하려면 1년 단위로 99$의 멤버십 비용을 지불하고 Apple Developer Program에 등록해야 합니다. 개인 또는 조직(법인) 계정 중 선택할 수 있으며, 조직 계정의 경우 D-U-N-S 번호가 필요합니다.

.

개인으로 등록해서 광고를 앱에 노출시키닥 추후 앱내결제를 위해 사업자 등록 후, 조직으로 바꾸는 경우도 있어보입니다.  저도 언젠간  이걸 해보려 합니다.

.

애플 계정으로 Apple Developer 사이트에 로그인 한 후, 계정 등록을 하는게 정석같지만 제 경우엔 이렇게 피시에서 하면 필요한 정보를 모두 입력한 후, 알 수없는 오류로 진행이 안되었습니다. 

.

그래서 대신 아이폰에 Apple Developer 앱 설치해보니 앱으로 진행이 안된다며 다음 사이트 주소(https://developer.apple.com/kr/programs/enroll/  )로 접속해서 진행하니 피시와 달리 정보 입력없이(피시에서 진행했던 기록이 남았을 수 있습니다.)  결제만 바로 진행하고 오류없이 진행이 가능했습니다. 하지만 결재했으나 완료안되는 현상이 생겨 문의를 남겼지요.  문의 남긴곳의 주소는 다음과 같습니다. https://developer.apple.com/contact/topic/SC1101/subtopic/30007/solution/select .

.

하루 지나서인가 애플에서 메일이 왔는데 주소가 잘못 입력되었다며 영문 메일 주소를 다시 답장으로 보내달라해서  https://www.juso.go.kr/  에서 확인하여 회신했습니다. 

.

다음날 Apple Developer 계정 등록이 완료되면 메일이 왔습니다.  App Store Connect 접근 권한이 자동으로 부여됩니다.

애플 개발자 계정은 1년 단위로 갱신해야 합니다.

.

2. 인증서 및 프로비저닝 프로파일

Xcode 또는 Apple Developer 포털에서 배포용 인증서(Distribution Certificate)와 프로비저닝 프로파일(Provisioning Profile)을 생성해야 합니다. 이를 통해 앱에 코드 서명을 할 수 있습니다.

Xcode의 자동 서명(Automatic Signing) 기능을 사용하면 포털에 직접 들어갈 필요 없이 Xcode가 인증서, App ID, 프로비저닝 프로파일을 전부 자동으로 생성하고 관리해줍니다.

.

Xcode 메뉴에서 Settings > Apple Accounts에서 Apple ID를 추가하고 추가한 ID 선택하여 Team을 선택하여 제 개인 계정을 선택했습니다. 

프로젝트의 Signing & Capabilities 탭에서 “Automatically manage signing”을 체크합니다.

Team을 선택하고 Bundle Identifier를 입력하면 끝입니다.

.

프로젝트 파일 클릭 → 콤보박스 클릭 후 TARGETS에서 앱이름  선택 → 상단 탭에서 Signing & Capabilities 선택하여 아래 스크린샷처럼 설정하면 됩니다. 

.

이렇게만 해두면 Xcode가 알아서 배포 인증서가 없으면 생성하고, App ID를 등록하고, 프로비저닝 프로파일도 만들어서 연결해줍니다. Archive 후 App Store Connect에 업로드할 때도 서명 관련 처리를 자동으로 해줘요.

.

3. 앱 아이콘 준비

1024×1024px 크기의 고해상도 앱 아이콘을 준비해야 합니다. 투명 배경이나 알파 채널은 허용되지 않습니다.

.

제미나이에게 앱스토어에 앱을 등록시 필요한 아이콘을 만들어달라며 앱의 컨셉을 설명하면 1024 x 1024 크기의 png 이미지 파일을 만들어줍니다.  제법 잘 만들어줬습니다.

.

Xcode 프로젝트에서 Assets.xcassets 파일을 열면 기본적으로 AppIcon 항목이 있습니다. 여기에 아이콘 이미지를 드래그 앤 드롭하면 됩니다.

과정은 다음과 같아요:

  1. Xcode 왼쪽 네비게이터에서 Assets.xcassets를 클릭합니다.
  2. AppIcon 세트를 선택합니다. (없으면 하단 “+” 버튼 → “App Icon”으로 새로 만들 수 있어요.)
  3. 준비한 아이콘 이미지를 해당 슬롯에 드래그 앤 드롭합니다.

.

커스텀 아이콘 이미지를 앱 내에서 쓰려면 Assets.xcassets에 “+” → “Image Set”으로 추가한 뒤, 코드에서 이미지 이름으로 참조하면 됩니다.

가장 좋은 방법은 충분히 큰 원본 이미지를 Single Scale로 설정하는 것입니다.

  1. Assets.xcassets에서 해당 Image Set을 선택
  2. 오른쪽 Attributes Inspector에서 Scales 항목을 “Single Scale”로 변경
  3. 제미나이가 만들어준 아이콘 이미지를 추가하면 됩니다. 

.

이 상태까지 진행후 프로젝트를 플러터로 변경했습니다. IOS와 Android 양쪽 앱을 만들기 위해서였습니다.  처음부터 플러터로 시작했다면 위 과정대신 클로드 코드에게 이미지 주면서 해달라고 하면될거 같은데 이 부분은 해보고 내용을 업데이트하겠습니다.

플러터로 변경되면서 Xcode에서 ios폴더 열어서 다음처럼 설정했습니다.

.

.

4. 애드몹 준비

우선 테스트 기기를 등록하여 실수로 광고 클릭하여 정지되는 걸 방지합니다. 

IDFA를 입력해야 하는데 아이폰에선 바로 확인할 수 없다네요. 

.

클로드 코드에게 다음 내용을 주면서 개발중인 앱에서 IDFA를 복사할 수 있게 해달라고 했습니다.

.

현재 Apple에서는 기본적으로 iOS 기기에 IDFA를 표시하지 않습니다. 하지만 타사 앱을 사용하여 가져올 수는 있습니다. App Store에서 광고 ID를 가져올 수 있는 앱을 확인하거나 프로그래매틱 방식으로 IDFA를 찾아보세요.

.

.

앱 실행 후, 개인정보 보호의 추적을 허용해야 제대로된 IDFA를 복사할 수 있습니다. 안그러면 0으로 채워진 것을 얻습니다. IDFA를 얻기위한 앱수정을 한 셈입니다.

.

.

애드몹에 테스트 기기 등록시 특정 동작을 사용하여 광고가 어떻게 표시되는지 확인하는 방법도 제공하네요. 전 흔들기로 설정했습니다. 

이제 애드몹 사이트에서 앱을 추가합니다. 

.

광고 단위에서  배너를 생성하면  앱 ID와 광고단위 ID를 알려주는데 코드에 넣어주면 됩니다. 클로드 코드가 알아서 잘 해주더군요. 

.

.

아이폰에서 앱실행하여 확인시 문제가 생겨서 시뮬레이터에서 실행하여 로그 확인후 해결했습니다.  

USB로 연결하고 Xcode에서 메뉴 View > Debug Area > Activate Console 선택 후  확인시 다음 문구가 보이더군요

[AdMob] 광고 로드 실패: Account not approved yet. <https://support.google.com/admob/answer/9905175#1>

.

광고 승인이 아직 안나서 그동안엔 테스트 광고로 확인해야 한다고 합니다. 

릴리즈땐 실제 광고 출력하고 디버그땐 테스트 광고를 보여주도록 코드를 수정하면 됩니다. 

.

.

클로드 코드에게 현재 구현된 내용을 바탕으로 개인정보 처리방침 작성해달라고 하여 블로그에 저장하고 얻은 다음 링크를 앱에도 추가하고 커넥트의 개인정보 처리방침 URL에도 추가합니다.

.

4. 스크린샷 준비

https://studio.app-mockup.com/ 에서 앱스토어에 등록할 스크린샷 제작할 수 있습니다.
6.9인치인 iPhone 16 Pro Max에 맞춰 만들면 그보다 작은 스크린은 알아서 사용할 수 있게 된다고 합니다. 

.

,

5. 앱 소개에 적을 내용을  미리  정리했습니다. 클로드 코드에게 코드를 기반으로 정해달라 했습니다. 

.

앱이름과 부제목

.

앱설명도 클로드 코드를 사용하여 구현 내용을 바탕으로 적어달라하고 스토리는 내가 컨셉을 정해서 방향을 정했습니다.

.

키워드 선정도 클로드 코드에게 코드를 바탕으로 정해보라 했습니다. 일상적인 키워드를 만들어주네요.

.

앱에 맞는 카테고리도 클로드 코드가 정해주었습니다.

.

지원 URL이 필요하다해서 블로그에 글을 저장하고 링크를 사용했습니다.

.

프로모션도 클로드 코드와 대화하면 결정했습니다. 

.

.

6. App Store Connect 정보 입력

App Store Connect(https://appstoreconnect.apple.com/ )에서 앱을 등록할 때 다음 정보를 준비해야 합니다.

.

미디어 관리에서 모든 크기 보기 선택 후, 6.9 디스플레이에 앞에서 만든 스크린샷을 추가합니다.

.

상단에 있는 제출 준비 중에서  모든 항목을 입력해야 합니다. 

.

그외 항목들도 입력해야 하는데 그중에는 개인정보 처리방침(Privacy Policy)도 있습니다. 다른 항목까지 본 글에서 다 다루지는 않습니다.

모든 앱에 개인정보 처리방침 URL이 필수입니다. 앱이 수집하는 데이터 유형, 사용 목적, 제3자 공유 여부 등을 명시해야 합니다. 또한 App Store Connect에서 앱 개인정보 보호 세부 사항(App Privacy Labels)도 작성해야 합니다. 클로드 코드를 사용하여 코드를 기반으로 작성해달라하고 수정을 했습니다.

.

앱에 광고가 포함되어 있다면 커넥트에서 입력시 주의할점입니다.

앱에 ATT(앱 추적 투명성)와 IDFA가 포함되어 있으므로 App Store Connect에서 “데이터 수집하지 않음”이 아닌 실제 데이터 수집 항목을 선언해야 합니다.

   .

  1. 앱 개인정보 보호 섹션으로 이동                                                                                                                                                    

  2. 데이터 수집 시작 클릭                                  

  3. 다음 항목을 추가:

  │ 데이터 유형 │  항목   │       용도       │ 사용자 연결 │ 추적 │

  │ 식별자      │ 기기 ID │ 광고 또는 마케팅 │ 아니요      │ 예   │

.

.

  설정 방법:

  – “데이터 유형을 수집합니까?” → 예

  – 식별자 선택

  – 기기 ID 체크

  – 용도: 타사광고 선택

  – “사용자 ID에 연결됩니까?” → 아니요

  – “추적에 사용됩니까?” → 예 (ATT 사용하므로)

.

  이것은 Google AdMob이 IDFA를 통해 맞춤 광고를 제공하기 때문에 필요한 선언입니다.

.

.

7. 빌드 업로드

Xcode를 사용해 아카이브된 빌드(.ipa)를 App Store Connect에 업로드합니다. 빌드에는 올바른 버전 번호와 빌드 번호가 설정되어 있어야 합니다. 한번 업로드가 성공하면 이후 업로드시엔  최소한 빌드번호를 수정해야 합니다. 

.

⏺ Xcode에서 App Store Connect로 빌드 업로드하기                                                                                                                                        

  1단계: 빌드 설정 확인

  – Xcode → 프로젝트 선택 → General 탭

  – Version: 1.0.0   

  – Build: 1   

  – Bundle Identifier: 고유한 값 확인 (예: com.yourname.DayDiary)

  – Supported Destinations에 아이폰만 남겨두고 제거 

  – Signing & Capabilities → Team이 본인 Apple Developer 계정인지 확인

  2단계: Release 스킴 설정

  – 상단 메뉴 → Product → Scheme → Edit Scheme

  – Run의 Build Configuration이 아닌, Archive의 Build Configuration이 Release인지 확인 (기본값이 Release라 보통 건드릴 필요 없음)

 3단계 타겟 설정

 – Product Destination을  “Any iOS Device (arm64)” 선택

  4단계: Archive 생성- 이 경우는 Xcode로 앱을 작성한 경우이고 플러터를 사용했다면 아래에서 따로 다루는 방식으로 해야 에러가 나지 않습니다.  

   – Product → Archive 

  – 빌드 완료되면 Organizer 창이 자동으로 열림

  5단계: 업로드

  – Organizer에서 방금 만든 Archive 선택

  – Distribute App 클릭

  – App Store Connect 선택 → Distribute 선택

  – 앱이름으로 이름 변경

.

.

  – 옵션은 기본값 그대로 → Next → Upload

  – Apple Developer 계정 로그인 요구 시 로그인

.

.

Flutter로 작성했다면 Xcode에서 다음 순서로 진행해야 에러가 나지 않습니다. 

.

메뉴에서 Product > Archive를 선택합니다. 

 .

Archive 완료 후 Distribute App 클릭

.

Custom 선택합니다.

.

App Store Connect 선택합니다.

.

Upload 선택합니다.

.

Upload your app’s symbols 체크 해제 합니다. 이 부분이 중요합니다. 

  .

Automatically manage signing을 선택합니다.

.

Upload를 클릭합니다. 

업로드후 다음 메시지 보였지만 무시해도 된다고 합니다.

.

TestFlight 탭에서 처리중이 끝나길 기다려야 합니다. 

.

빌드항목에서 기존 등록된게 있다면 제거하고 새로 처리완료된걸 선택하고 저장 후, 심사에 추가를 선택합니다. 

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다