# 결론 및 요약
1. 개발자 등록하기 : 애플은 개인사업자인 경우 무조건 개인 계정을 사용하도록 되어 있음. 법인 사업자만 조직 계정을 활용할 수 있도록 할 것.
- 단, 갬블링 포함 앱 등 특수한 경우 신청을 통해 개인사업자가 조직 계정으로 신청하는 것이 가능할 수 있음. 단, 과정이 좀 더 복잡. (고객센터에 문의 등)
### 1. Unity 빌드 + XCode 실행 준비
1. IOS 로 Switch.
2. Unity Project Setting 에서 Microphone 이나 권한들에 대한 작성 필요 내용 작성하기.
3. 빌드. 이후, XCode 프로젝트 형태의 폴더가 나타나게 됨.
4. Cocoapods 가 Unity 내에서 빌드할 때 적용되지 않았다면 폴더 내에 유니티 프로젝트가 의존성을 갖고 있는 외부 라이브러리 들이 여기에 포함되지 않았을 것. 이 경우, Terminal 을 열고, Unity 에서 빌드한 결과물 폴더에 cd 로 접근하여, pod install 명령어를 통해 외부 라이브러리를 수동으로 다운로드 받아줌.
1. CocoaPod 가 없다면, Homebrew 다운 받은 후, 그거 통해 cocoapod 부터 다운로드 해야 함.
- 진짜 CocoaPod 가 말도 안되는 오류임. 이거 쉽게 해결할 수 있는 방법 찾은 거 자체가 굉장히 행운 아닌가...
### 2. Provisioning Profile
1. Distribution Type 으로 ==Certificates== 만들기.
2. App ID 에 대응되는 ==Identifiers== 만들기.
3. 현재 개발중인 mac 을 인증할 수 있는 ==Devices== 만들기.
4. 위에서 만든 Certificates, Identifiers, Devices 정보를 종합하는 항목을 통해 Provisioning **Profile** 을 얻을 수 있음. 이 Profile 을 다운로드하여, 우리는 Unity 나, XCode 에서 빌드할 때 인증.
> [애플 개발자 계정 사용법 - iOS 인증서 +.. : 네이버블로그](https://blog.naver.com/eastfever5/221949147733) : 여기 해당 내용 그나마 잘 나와 있으므로 참고할 것.
> 확실히 처음 Certificates 와 Devices 를 등록하고 나니, 편하긴 하네. App 이랑, Profiles 만 등록하면 되는 구나.
### 3. 앱 제출 정리
#### App Store Connect
1. App Store Connect 에서 새로운 앱을 하나 만든 후, 거기 나와 있는 빈칸이나 요건을 채우는 것으로 충분히 채울 수 있음. (구글 플레이에서 나와 있는 과정 기반으로 작성하다 보면 쉽게 작성할 수 있었던 것처럼.)
- 개인정보 처리방침 같이 약간 까다로운 게 존재하긴 한데, 이도 그냥 준비하다보면 쉽게 준비 가능할 것.
- **Unity 의 App ID 와 App Store Connect 에서 만든 App ID 가 동일해야 함!!**
2. 단, 필요 디자인 자료의 경우 - 1290 x 2796 : 6.5, 6.7형 / 2208 x 1242 : 5.5 형 / 2732 x 2048 : 12.9 (6세대) - 이와 같은 자료를 준비해야 하는데, 이는 Figma 를 통해 빠르게 준비할 수 있을 것.
#### XCode Build
- Device Simulator 를 통해 테스트 하고 싶은 경우
1. Unity 에서 처음부터 Device SDK 가 아닌, Simulator SDK 로 빌드해야 함. (+Development Version 의 Profile 체크를 Unity 내에서도 가능했던 것으로 기억. 근데 딱히 영향은 없었던 것으로 기억함.)
2. 빌드 시 Player Setting 내에 존재하는 Target 을 Device Target 이 아닌, Simulator Target 으로 잡아야 했으나, 24.06.02 현재, 해당 과정 진행하지 않아도, Simulator SDK 로 선택한 경우 자동으로 할당되는 것을 확인할 수 있었음.
3. Simulator 를 위해서는 XCode 내에 가상 기기가 다운로드 받아져 있어야 함. 만약 가상기기가 없다면, Build Target 이 없으므로, 다운로드 받을 것. (Target 찾는 곳에서 아래 늘리는 버튼 누르면 가상 기기 다운로드 하는 것 떴던 것으로 기억.)
- App Store Connect 에 Distribution 하고 싶은 경우
1. Unity 에서 처음부터 Simulator SDK 가 아닌, Device SDK 로 빌드해야 함. (+Distribution Version 의 Profile 체크를 Unity 내에서도 가능했던 것으로 기억. 근데 딱히 영향은 없었던 것으로 기억함.)
2. 빌드하고 난 후, XCode 에서 켜서 Team 을 제대로 입력해주어야 함. (Team 은 현재 개발자 계정 혹은, 개발자 계정이 속한 조직을 의미.) 빌드할 앱이 어느 계정 쪽으로 배포되어야 할지를 정해주어야 하기 때문. 또한 이전 다운로드 받아 두었던 Profile 을 XCode 왼 쪽 계층 > Unity~ 를 눌러 Signing 으로 들어가 할당. (App 빌드할 때 인증할 때 쓰는 최종적인 게 Profile 임.)
4. Menu 창 > Product > Archive 를 누르면, Apple 이 제공하는 빌드 배포 기능 중 하나로 업로드할 수 있음. 보통 테스트를 진행할 때는 Test Flight 를 사용하며, 아예 업로드하는 곳에 올릴 때는 App Store Connect 를 선택하면 됨.
- 문제가 없다는 전제하에, 몇 번의 인증을 완료하면, 쉽게 빌드할 수 있음. 빌드 후에는 처리 과정 몇 분 뒤에, 해당 앱이 올라가 있는 것을 확인할 수 있음.
#### 전체 제출
1. 이후 제출 필요 정보가 모두 입력되었고, 빌드가 잘 올라갔다면, 심사에 함께 제출할 빌드 파일을 선택.
2. 이후, 심사에 제출하고, 심사 받고, 문제가 있을 경우 수정하면 됨.
1. 보통 여기서 오류가 있을 때가 많은데, 스크린샷이 앱 전체에 대해 확실히 보여주고 있고(1), 인증 관련 문제만 따로 없고(2), 스크립트에 test 등의 이름이 포함되지 않았으며(3), 소셜로그인 기능이 있는 경우 애플 소셜 로그인도 포함되어 있다면(4) 업로드 웬만해선 바로 되더라~
2. 처음 제출하면 아마 여러 문제를 받을 수도 있는데, 차례차례 대응하다보면 쉽게 제출하는 것이 가능.
3. 만약 빠르게 심사 요청을 받고 싶다면 이런 것도 있음 : [IOS -긴급 심사 요청](https://velog.io/@chosh91/IOS-%EA%B8%B4%EA%B8%89-%EC%8B%AC%EC%82%AC-%EC%9A%94%EC%B2%AD)
- app store connect 들어가서, 아래 Contact Us 들어가면, 앱 심사 부분 있는데, 거기 들어가서 긴급 심사 요청 쉽게 할 수 있음.