Flutter로 App 을 store 등록하기
앱 릴리즈 빌드 확인
$ flutter build ios
프로젝트 우클릭 >Open iOS module in Xcode
build mode를 debug → release로 변경해야한다.
xcode → Runner 클릭 → Edit Scheme 으로
![img.png](https://blog.kakaocdn.net/dn/Dtd6T/btrmYURP9eA/mnqfu8s6YKUShzMeTnqJR1/img.png)
![img.png](https://blog.kakaocdn.net/dn/bNuqRA/btrmXuNrY88/NJytIDfosHheb85zDiKZA0/img.png)
![img.png](https://blog.kakaocdn.net/dn/FDQkq/btrmYUqLj0G/IAX1l33iVgzvWJcCMGTTkk/img.png)
Certificate, Identifiers
https://developer.apple.com/account 에 접속
![img.png](https://blog.kakaocdn.net/dn/cb5jdI/btrm3L0EzyC/wPQkfaLBKjNdPYVkavnuxK/img.png)
위에서 앱이 추가될때 마다 Identifier 를 추가하자.
![img.png](https://blog.kakaocdn.net/dn/cIZaRG/btrmYkDdmmI/KvACwswNktfWid3AgRxFVk/img.png)
App IDs를 선택하고
![img.png](https://blog.kakaocdn.net/dn/n0HJW/btrm2o5LvTF/Nokdkx6YbsFZKP9Qj4Qo9k/img.png)
App 을 선택
![img.png](https://blog.kakaocdn.net/dn/bMHzXL/btrmYTMajYT/kZf9XMASjSL4ocykcMuC21/img.png)
Description을 적당히 입력
Bundle ID는 xcode에서 설정하는 아래의 Product Bundle Identifier를 입력하면 된다.
![img.png](https://blog.kakaocdn.net/dn/bKjRhG/btrmYTyEZ83/K8bRnofAIzwHd3kIGH9ZP0/img.png)
앱스토어에 앱 등록
https://appstoreconnect.apple.com/ 에 접속
![img.png](https://blog.kakaocdn.net/dn/cQFw36/btrmZ2Pnwhm/cqKu9Psrh6kSjbW6HGl8w1/img.png)
나의 앱 클릭
![img.png](https://blog.kakaocdn.net/dn/mZu1M/btrmZJvMQY0/hkCAFXKxAnVnIbah1AxhYk/img.png)
신규 앱이면 "+" 버튼 클릭
![img.png](https://blog.kakaocdn.net/dn/elpeKq/btrm1iRYdiG/XPSpGAM0sfekK1BrO1uAmk/img.png)
이름은 적당히 입력하면 되고, 번들 ID는 아까 만든 Identifier로 설정할 수 있다.
SKU는 적당히 자유롭게 입력하면 된다.
앱스토어에 앱 빌드 올리기
xcode에서 Product > Archive 클릭
해당 작업은 빌드를 동반하기에 시간이 걸릴 수 있다.
![img.png](https://blog.kakaocdn.net/dn/beeeSG/btrmYFOaLIn/kFGuRYvUb2xSDZZEwhSrF0/img.png)
빌드가 완료되면 위와 같은 화면이 보인다.
[Distribute App] 을 클릭
![img.png](https://blog.kakaocdn.net/dn/QpVGn/btrmYcFwgfN/nkpfJBwypMjQ6lvPVvaNU1/img.png)
위와 같은 화면이 뜨는데, App Store Connect를 선택하고 [Next]
![img.png](https://blog.kakaocdn.net/dn/by9PCm/btrm5yGNv22/XFg9Ir6k1QXZVbOCT7XckK/img.png)
빌드한 앱을 올려야 하니까 Upload 선택 및 [Next]
![img.png](https://blog.kakaocdn.net/dn/bfCht0/btrmY4GXYMQ/ECSkI3Ag1BFkclMMm2BQ9K/img.png)
배포 옵션 선택. 취향에 맞게 선택하자.
![img.png](https://blog.kakaocdn.net/dn/LlviD/btrm0q3PDAn/MoKVuT6htDSdjxkjoLY890/img.png)
Signing 옵션에선 Automatic을 선택
배포 인증서가 없는 경우 Generate
인증서는 개인 컴퓨터에 저장된다. 포맷하면 잃어버리니 export로 안전한 곳에 백업해두자.
![img.png](https://blog.kakaocdn.net/dn/szOVd/btrm2okm7HE/ckwkHIXQOdPij9wdEKqhrK/img.png)
Upload 누르면 앱스토어에 업로드된다.
![img.png](https://blog.kakaocdn.net/dn/nREMA/btrm5x2bSNO/ol0khDvYUDnCMKuAJ7bIsK/img.png)
완
appstoreconnect 페이지로 돌아와서,
Test Flight 드가보면 버젼이 뜬다.
수출 규정 관련 정보를 제공해야 빌드를 쓸 수가 있는데,
![img.png](https://blog.kakaocdn.net/dn/nCXJO/btrm2nsgMYU/qZqW0hWtdWZxtq96Dd5Kq1/img.png)
암호화 여부에 따라 [아니요]라면 "내부 테스트 시작" 이 필요하다.
그러면 상태가 제출 준비 완료가 된다.
앱스토어에 앱을 제출하려면 스크린샷, 앱 설명, 프로모션 문구 등이 필요한데,
중요한 항목 몇가지만 살펴보자.
[App Store] > [앱이 수집하는 개인정보] 이동
![img.png](https://blog.kakaocdn.net/dn/YJR5c/btrm2o5LA9p/pY3ydECwgj6zGoLhM4aqa0/img.png)
개인정보 처리 방침을 입력하고
![img.png](https://blog.kakaocdn.net/dn/Me0QC/btruqE2nW7x/5LWN32NfkU7JgQFTw2EUk1/img.png)
Admob SDK가 수집하는 목록
1. 식별자 기기: AdMob SDK가 광고를 제공하기위해, 광고 서빙을 위해 id를 수집한다.
2. 제품 상호작용, 기타데이터: admob에서 사용자 측정 화면 활성화 하기 떄문에
3. 대략적인 위치: 광고 SDK의 ip 주소 기반 타겟 광고
4. 진단정보 -> 충돌 데이터, 실적 데이터, 기타 진단 데이터: SDK 크래시정보를 수집한다.
5. 광고 데이터: 사용자가 본 광고데이터를 수집한다.
- 위치 → 타사 광고, 분석. 비 식별화 처리 되므로 아니오
- 수집되는 위치 데이터, 광고 SDK는 이걸로 타겟팅을 함으로 예.
- 기기 ID → 타사 광고, 분석. 신원과 연결되지 않으므로 아니오.
- 광고 SDK는 타겟 목적으로 ID를 수집하므로 추적항목 예.
- 제품 상호작용 → 타사 광고, 분석. 신원과 연결되지 않으므로 아니오.
- 추적목적이 아니므로 아니오
- 광고 데이터 → 타사 광고. 신원과 연결되지 않으므로 아니오
- 추적목적으로 사용하므로 예
- 충돌 데이터 → 타사 광고. (AdMob SDK)신원과 연결되지 않으므로 아니오
- 추적목적으로 사용하지 않으므로 아니오
- 실적 데이터 → 타사 광고. (AdMob SDK)신원과 연결되지 않으므로 아니오
- 추적목적으로 사용하지 않으므로 아니오
- 기타 진단 데이터 → 타사 광고. 신원과 연결되지 않으므로 아니오
- 추적목적으로 사용하지 않으므로 아니오
- 기타 데이터 → 타사 광고. 신원과 연결되지 않으므로 아니오
- 추적목적으로 사용하지 않으므로 아니오
게시 버튼으로 저장.
앱 심사로 제출할 빌드 체크
[제출 준비 중] 항목 선택
![img.png](https://blog.kakaocdn.net/dn/bEt6zA/btrmYdj4Z7A/LKkOGsf2Q42vFX6LId2kBK/img.png)
아래로 내리면 [빌드] 섹션이 있음.
+ 버튼을 누르면
![img.png](https://blog.kakaocdn.net/dn/cLfLhY/btrmY4fS5jW/qvIgq5zgcNrxolUKYn34Lk/img.png)
빌드를 선택하면, 이 빌드로 심사를 제출한다.