일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- async
- 반응형
- 학과별커뮤니티
- collectionview
- RxSwift
- swift
- 앱개발
- 이론
- 프로토콜
- 딕셔너리
- MVVM
- 디자인 패턴
- 실습
- 스트럭트
- SwiftUI
- 네트워크
- struct
- 구름톤 유니브
- 세종대학교
- 기초문법
- WeatherKit
- AppStore
- CS
- 대표
- mvc
- forEach
- uikit
- 협업
- ios
- 토이프로젝트
- Today
- Total
스윞한 개발자
IOS - 앱스토어 배포/에러 해결/WeatherKit 본문
안녕하세요! 이번 포스팅에서는 앱스토어에 배포한 과정을 기록해보려 합니다!
스토어에 배포해 보기 위해 간단하게 어플을 만들어보았습니다.
저도 심사를 등록하고 처음에 리젝을 당했지만, 다시 시도했을 때! 심사에 성공했습니다 ㅎㅎ
먼저 앱스토어 배포하는 과정을 포스팅해보겠습니다! 어플이 궁금하시다면 이전 포스팅에 있는 나린! 을 참고해 주세요!
WeatherKit을 사용할 때 위치정보와 날씨를 가져오는데 시간이 오래 걸리는 단점이 있어 버전 2에서는 유지보수를 하면서 버전 업그레이드를 하도록 하겠습니다 ㅎㅎ
1. Xcode 프로젝트 정보 확인
앱스토어에 배포를 하기 위해 Xcode에서의 위의 프로젝트 정보를 확인해 주세요! AppIcon 등록은 당연히 필수입니다!
저는 아래의 사이트를 많이 사용합니다.
2. 애플 개발자/스토어 연동
앱스토어에 앱을 배포하기 위해서는 애플 개발자 계정이 필수로 있어야 합니다! 개발자 계정이 있다면, 애플 개발자 홈페이지에서 앱에 필요한 정보를 등록해 주세요!
그 후, 앱스토어 커넥트에 앱을 등록해주셔야 합니다!
https://appstoreconnect.apple.com/apps
3. Xcode Archive
그 후에는, Xcode에서 Archive를 해주어야 합니다! 이 과정에서 비활성화가 되어있을 수 있는데 이때는 시뮬레이터 말고 기기를 연결해서 돌려주면 활성화가 됩니다.
그 후
1. Distribute App
2. App Store Connect
3. 해당 화면의 모든 선택지 선택
4. Automatically manage signing
5. 앱 정보 확인 후 Upload
6. App Store Connect에 업로드 완료
이 과정을 진행해야 하는 게 정상인데,,
"Missing Info.plist value. The Info.plist key 'BGTaskSchedulerPermittedIdentifiers' must contain a list of identifiers used to submit and handle tasks when 'UIBackgroundModes' has a value of 'processing'."
라는 에러가 뜨고 말았습니다!
처음에는 당황했지만! 그냥 제가 notification을 백그라운드에서 사용하는데 info.plist에 해당 키가 없다는 내용이었습니다 ㅎㅎ
그래서 info.plist에 추가해 주시면 됩니다!
키를 Permitted background task scheduler identifiers 이와 같이 적고! Array형태로 설정해 줍니다. 그 후, 하위의 item에 ${PRODUCT_BUNDLE_IDENTIFIER}를 해주시면 됩니다!
그러고 다시 Archive를 해주니 문제없이 잘 돌아갔습니다.
다시 AppstoreConnect에서 TestFlight를 확인해 주시면 올라가 있는 것을 확인하실 수 있습니다!
여기서! 처음에는 진행상태가
위와 같은 상태로 되어있을 텐데,
이렇게 선택해 주시면 됩니다! 앱에 따라 다르겠지만, 자세한 사항은 아래 블로그분 참고해 주세요!
https://develop-ssooo.tistory.com/88
이렇게 수출 규정 관련 문서까지 설정해 주고, 다시 배포로 돌아와 줍니다!
4. 필수 정보 기입
배포에 필요한 필수 정보들을 기입해야 하는데요! 먼저
1. 스크린샷
앱 스토어에 배포를 하기 위해서는 미리보기/스크린샷을 업로드해야 합니다.
저는 스크린샷을 업로드하기 위해
아래의 홈페이지에서 preview 이미지를 만들었습니다! 퀄리티 좋은 프리뷰 이미지를 무료로 넣고 사용할 수 있어서 좋습니다!
2D의 이미지는 무료이기 때문에 유용하게 사용하시면 좋을 거 같아요!
iPhone 6.5/5.5형 iPad Pro(6세대, 2세대)가 필수로 필요하고 명시된 규격을 반드시! 지켜야 합니다.
해당 규격을 지키지 않으면 심사에 리젝 될 수 있습니다!!
그 후,
프로모션 텍스트, 설명, 키워드 등등 다 설정해 주시고 특히 지원 URL은 제품에 대한 설명이 있는 블로그/노션/깃허브 링크를 달아주시면 됩니다.
그리고 개인정보 처리 방침도 작성해주셔야 하는데! 저는
위의 사이트에서 개인정보 처리 방침을 조건에 맞게 작성해 주었습니다. 회원가입을 하고 개인정보처리방침 만들면 자동으로 URL을 만들어줘서 바로 링크를 넣으시면 됩니다!
빌드도 Archive 한 빌드로 선택해 주시고,
1. 앱 정보에서 앱의 이름과 부제
2. 앱이 수집하는 개인정보
3. 가격 및 사용가능 여부
정도만 설정을 해주시면 앱 심사등록이 가능합니다!
만약 부족하거나 잘못된 부분이 있다면 앱 심사 등록 시 어떤 부분이 누락되었는지 알려주니 참고하시고 등록하시면 됩니다!
앱에 심사를 등록하고..! 저는 기능이 많이 없기도 했고 간단한 앱이라 오래 걸리지 않았습니다. 심사 요청을 하고 2~3시간 이내로 심사가 완료되었습니다.
첫 심사 요청에는 리젝이 되었는데요..!
그 이유가
"Guideline 5.2.5 - Legal - Intellectual Property"
라고 왔습니다.
결론적으로는 WeatherKit을 사용하려면, 앱 내에서 Weather 이런 Apple WeatherKit의 트레이드마크를 추가해야 하고 legal source link인 https://weatherkit.apple.com/legal-attribution.html 를 뷰에 표시를 해야 한다는 내용이었습니다.
그래서 바로 수정을 하고 저는 처음 LaunchScreen에 위의 트레이드마크와 source link를 추가해 주고 바로 재심사에 들어갔습니다.
그랬더니..!
다행히도 얼마 지나지 않아 심사가 승인되었습니다.
앱 배포를 위해서 간단하게 앱을 만들어보고 배포까지 진행해 보았는데요! 모두 다 리젝 없이 한 번에 배포 성공하시길 바라며 저는 다양한 기능을 넣고 나린을 계속 유지 보수 해보겠습니다!
'프로젝트' 카테고리의 다른 글
빗처 - 코인에 대한 모든 정보, 미래 예측 (0) | 2024.04.08 |
---|---|
수달 : 집수리 달인 (0) | 2024.03.10 |
Narin 나린 : 하늘에서 내린 (0) | 2024.03.07 |
IOS 학과별 커뮤니티 개발 - End (0) | 2024.01.25 |
IOS 학과별 커뮤니티 개발 - 8 (2) | 2024.01.25 |