develop/배포

ITMS-91053: Missing API declaration 해결하기

방뎁 2024. 3. 23. 00:13
반응형

3월 초까지만 해도 문제 없이 배포되던 앱이

애플 개발자 센터 메일

메일이 왔다. 

다행이도 지금 당장은 문제가 없는 것 같아 보였지만

5월 이후에 배포 안할 건 아니니깐,, 

api 가 있는 앱이라면 반드시 5월 1일 전까지 업데이트를 해야 한다. 

 

아래는 공식 문서와 동영상

https://developer.apple.com/documentation/bundleresources/privacy_manifest_files

 

Privacy manifest files | Apple Developer Documentation

Describe the data your app or third-party SDK collects and the reasons required APIs it uses.

developer.apple.com

https://developer.apple.com/videos/play/wwdc2023/10060

 

Get started with privacy manifests - WWDC23 - Videos - Apple Developer

Meet privacy manifests: a new tool that helps you accurately identify the privacy practices of your app's dependencies. Find out how...

developer.apple.com

 

사용하는 API에 맞는 값을 주어야 하는데 

값은 아래의 공식 사이트를 참고 하면 된다. 

https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api

 

Describing use of required reason API | Apple Developer Documentation

Ensure your use of covered API is consistent with policy.

developer.apple.com

반응형

어떤 카테고리를 사용하는지 모르겠다면 

앱을 제출 하자. 

그 후 메일이 오면 아래와 같이 어떤 카테고리인지 알려준다. 

메일 내용

 

자 사전 지식은 위 동영상에서 확인 하면 되고

당장 필요한건 심사 통과!

 

xcode에서 새로운 파일 생성

에러 해결하기1

app privacy 선택

에러 해결하기2

타겟 잘 지정해주고

에러 해결하기 파일 생성

 

아래와 같이 작성하면되는데, 

api type 값에 각 오류로 안내받은 값을 넣어주면 되는데 

예를 들어 

NSPrivacyAccessedAPICategoryUserDefaults 누락이라면

Privacy Accessed API Type 에 User Defaults 로 값을 넣어주고

reasons를 입력하면 되는데 어떤 값을 넣어야 할 지 모르겠을땐, 

app privacy 스크린샷

오른편 화살표를 클릭하면 아래와 같이 선택할 수 잇는 코드가 나온다. 

app privacy 선택 스크린샷

 

xml 로 작성하자면

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>NSPrivacyAccessedAPITypes</key>
	<array>
        <dict>
              <key>NSPrivacyAccessedAPIType</key>
              <string>NSPrivacyAccessedAPICategoryDiskSpace</string>
              <key>NSPrivacyAccessedAPITypeReasons</key>
              <array>
                  <string>85F4.1</string>
              </array>
          </dict>
        <dict>
              <key>NSPrivacyAccessedAPIType</key>
              <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
              <key>NSPrivacyAccessedAPITypeReasons</key>
              <array>
                  <string>C617.1</string>
              </array>
          </dict>
        <dict>
              <key>NSPrivacyAccessedAPIType</key>
              <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
              <key>NSPrivacyAccessedAPITypeReasons</key>
              <array>
                  <string>CA92.1</string>
              </array>
          </dict>
	</array>
</dict>
</plist>

이렇게 해서 각 사용하는 api 에 맞는 코드를 사용하여 

심사 요청하면 해결된다!

 

반응형