티스토리 뷰
내용
- 진행한 프로젝트의 심사 결과 리젝사항들이 있었고, 해결해보자!
- Guideline 5.1.1) 카메라 권한을 얻기 위한 설명이 충분하지 않다!
- Giodeline 5.1.2) 앱을 추적하는데 사용되는 데이터를 얻기 위해서
AppTrackingTransparency
프레임워크를 통해서 허가를 받아야한다!
🫥 Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
리젝 사유
🧬 앱이 카메라 액세스에 대한 사용자의 동의를 요청하지만 목적 문자열에서 카메라 사용을 충분히 설명하지 않는 것으로 나타났습니다.
사용자가 데이터 사용 방법에 대해 정보에 입각한 결정을 내리는 데 도움이 되도록 권한 요청 알림은 앱에서 요청된 정보를 사용하는 방법에 대한 예를 설명하고 포함해야 합니다.
Next Steps
카메라에 대한 앱의 Info.plist 파일에 있는 목적 문자열을 수정하여 앱에 액세스가 필요한 이유를 설명하고 사용자 데이터가 사용되는 방법의 예를 포함하세요.
Xcode의 속성 목록 편집기를 사용하여 앱의 Info.plist 파일을 수정할 수 있습니다.
Resources
- See examples of
helpful, informative purpose strings
- Review a list of
relevant property list keys
리젝 첨부파일을 확인해보니 다음과 같은 스크린샷을 보내주었다.
- 카메라에 대한 액세스를 허용받는 부분인데
사진을 선택하여 첨부할 수 있습니다.
라고 안내하고 있었다. 확인해보니 앨범과 카메라 권한을 얻는 문구를 바꾸어서 입력해뒀었다. - 추가로 왜 요청하는지 어떻게 사용되는지에 대한 상세설명이 없는 것 같아서 보충했습니다.
해결
프로필 사진 설정 및 변경, 습관 인증을 위해 카메라 권한을 허락해 주세요.
로 이유와 함께 올바른 권한 요청 문구로 수정했습니다.
🫥 Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing
리젝 사유
🧬 App Store Connect에서 제공한 앱 개인 정보는 제품 상호 작용을 포함하여 사용자를 추적하기 위해 데이터를 수집함을 나타냅니다. 그러나 앱 추적 투명성을 사용하여 활동을 추적하기 전에 사용자의 권한을 요청하지 않습니다.
iOS 14.5부터 App Store의 앱은 앱을 추적하는 데 사용되는 데이터를 수집하기 전에 AppTrackingTransparency 프레임워크를 통해 사용자의 허가를 받아야 합니다. 이 요구 사항은 App Store 사용자의 개인 정보를 보호합니다.
Next Steps
이 문제를 해결하는 두 가지 방법은 다음과 같습니다.
- 현재 추적하지 않거나 추적을 중지하기로 결정한 경우 App Store Connect에서 앱 개인 정보를 업데이트하십시오. 앱 개인 정보를 업데이트하려면 계정 소유자 또는 관리자 역할이 있어야 합니다.
- 사용자를 추적하는 경우 추적에 사용되는 데이터를 수집하기 전에 App Tracking Transparency 을 구현하고 권한을 요청해야 합니다. 다시 제출할 때 검토 노트에 권한 요청이 있는 위치를 표시하십시오.
Resource
추적은 광고 목적으로 앱에서 수집한 데이터를 제3자 데이터와 연결하거나 수집된 데이터를 데이터 브로커와 공유하는 것입니다. traking 에 대해 자세히 알아보세요.
- 사용자를 추적하는 앱의 요구 사항에 대해서는 자주 묻는 질문을 참조하세요.
- 적절한 권한 요청을 설계하는 방법에 대해 자세히 알아보세요.
자세한 내용은 첨부된 스크린샷을 참조하세요.
우선 ATT(AppTrackingTransparency) 를 통해서 허가를 받아야한다는데 어떤 허가이며 앱 심사를 준비할때 어떠한 사항들이 허가를 요구했는지에 대해서 알아보자!
추적 허가? 내가 언제.. 설정했던가?
우선 해당 추적 허가는 앱이 수신하는 개인정보
에서 설정을 했었다.
- 다음과 같이 추적하는데 사용되는 데이터로
사용 데이터
가 설정되었고,
- 다음과 같은 목적이
추적
이었다.
그렇다면 추적은 어떻게 이루어지는걸까? 바로 IDFA 이다.
iOS 14 이후로 기본적으로 활성화되던 IDFA 추적을 비추적을 기본으로 변경하게 되었다. 그리고 IDFA 를 수집하기 위해서는 사용자에게 권한을 요청하게 되었다.
🧬 IDFA?(광고주 식별자)
Apple 에서 디바이스 단위로 부여하는 임의의 기기 식별자입니다. IDFA 는 개인 정보 노출 없는 사용자 추적 및 식별, 맞춤형 광고 제공, 인앱 이벤트 등의 정보 제공에 사용됩니다.
- 기존 프로세스 : IDFA를 추적할 수 있는 앱 트래커를 통해 랜딩 링크 생성 → 광고 노출 → 광고 클릭 → 앱 설치 후 구매(IDFA값을 앱 트래커에 전송 → 앱 트래커에서 성과 확인
- 앞으로 앱 추적은 IDFA의 동의를 받은 고객에 한해서 IDFA 수집이 가능합니다.
추적을 해야만 할까?
다음 단계는 이제 추적이 어떤 역할인지 알았으니 이 앱의 서비스에 추적이 필요한지에 대해서 결정해야했다.
먼저, 추적이라는 선택을 했던 것은 우리 앱이 GA 트래킹을 적용하고 있어서였다. 그리고 트래킹과 IDFA 와의 관계에 대해서 찾아보았다.
아래의 링크를 확인해보면 영향이 있는 것도 있었고, 없는 것도 있었다. 우리는 영향을 받지 않는다고 판단했고, 사용자에게 권한을 받지 않기로 했다.(권한을 요청하는 창을 한번 더 등장시키는 것은 사용자들에게 허들이 된다는 부담도 존재했다.)
해결
위의 메시지는 두가지 해결방법을 제시했다.
1. 추적을 하지 않거나 중지하기로 결정했다면 앱 개인정보를 업데이트해라!
Account holder(계정 소유자)
또는 Admin(관리)
역할을 가지는 경우에 업데이트가 가능하다.
결론적으로 추적하지 않기로 했고, 내가 Apple Developer Program 멤버쉽을 구입했기때문에 해당 역할을 할 수 있는 권한이 있었다. 해당 권한은 App Store Connect
의 사용자 및 액세스
에서 확인할 수 있다.
(팀원들을 Admin(관리)
으로 설정해주었다.)
참고) 아래 링크에서 역할에 따른 자세한 권한범위를 알 수 있다.
자, 이제 앱 개인정보를 업데이트해보자.
사전에 설정한 앱 개인정보이다. 추적하는데 사용되는 데이터는 사용 데이터
이므로 수정해주자.
- 아니요 를 선택해서 추적 목적으로 데이터를 사용하지 않도록 했다.
- 다음과 같이 반영되었다.
2. 사용자를 추적하는 경우에는 App Tracking Transparency
를 구현해서 권한을 요청해야한다.
App Tracking Transparency 에서 ATT Framework 를 통해서 권한을 요청하는 방법이 안내되어 있다.
결과
카메라 권한 설정 문구를 수정했고, 추적 관련해서 권한을 받지 않도록 앱의 개인정보를 수정했다.
빌드를 수정했기 때문에 기존 빌드를 삭제해주고, 새 빌드를 추가했다. 그리고 심사에 추가해줬습니다.
🫥 리젝 해결 이후 심사
심사에 추가 한 후, 다음의 메시지와 함께 회신했습니다. (5/4 일자 기준 제출 준비 중)
🧬 Thank you for quick review! i modified 2 things.
1. we add sufficiently explain to use of the camera in purpose string.
2. we do not currently track so we update app privacy information in app store connect.
새 빌드로 교체 후, 저장만 하고 [심사에 추가] 를 하지 않았었따... 🫠 오열..
꼭... [심사에 추가] 도 하고 [앱 심사] 에서 다시 제출하기를 해야한다!
(5/6 일자 기준 판매 준비 됨)
참고
- ATT
- IDFA
'iOS' 카테고리의 다른 글
iOS) async/await 와 URLSession 사용하기(1) - async/await (2) | 2022.06.03 |
---|---|
Swift) Monard (0) | 2022.05.05 |
iOS) 강제 업데이트, 최신버전 확인 후 업데이트 (11) | 2022.04.28 |
iOS) Shadowing 에 대해서 생각해보자 (0) | 2022.04.21 |
iOS) 이모지 키보드 높이 대응하기 (2) | 2022.04.17 |
- Firebase
- Algorithm
- WidgetKit
- async/await
- CloneCoding
- SwiftUI
- WWDC22
- Swift
- 2022 KAKAO TECH INTERNSHIP
- containerBackground
- MVVM
- Widget
- github
- OpenSourceLibrary
- projectsetting
- APNS
- 서버통신
- WWDC
- MOYA
- RxCocoa
- rxswift
- UserDefaults
- configurable widget
- IOS
- watchOS
- YPImagePicker
- urlsession
- Notification
- Protocol
- Objective-C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Total
- Today
- Yesterday