iOS Question ITMS-91053: Missing API declaration

Alex_197

Well-Known Member
Licensed User
Longtime User
Hi all.

Today I uploaded my app and received this email. It looks like this isi something new.
My app is using a document picker.

 
Last edited:

voxel

Member
Licensed User
Same, I received this email after a new update of my app.

We noticed one or more issues with a recent submission for App Store review for the following app:

  • LYZO
  • Version 1.0.7
  • Build 1.0.7
Although submission for App Store review was successful, you may want to correct the following issues in your next submission for App Store review. Once you've corrected the issues, upload a new binary to App Store Connect.

ITMS-91053: Missing API declaration - Your app’s code in the “LYZO” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documen...t_files/describing_use_of_required_reason_api.

ITMS-91053: Missing API declaration - Your app’s code in the “LYZO” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryUserDefaults. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documen...t_files/describing_use_of_required_reason_api.

Apple Developer Relations
 
Upvote 0

aminoacid

Active Member
Licensed User
Longtime User
Yes, I just received it this morning for an App update. The App is still "waiting for review". Let's see if they approve the App submission. The only change in the update was the inclusion of WebView.

[edit]
My App was approved as expected. Here is my "ITMS-91053". I have highlighted the API in question. I don't think there's anywhere in my code that I access a file time stamp. I do save a setting in a file stored in "File.DirLibrary" and then restore it on startup. That's about it.


ITMS-91053: Missing API declaration - Your app’s code in the “Weathernow” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documen...t_files/describing_use_of_required_reason_api.
 
Last edited:
Upvote 0

gglaz

Member
Licensed User
Longtime User
Hello,
The information is not included in the plist.
A privacy mainfest is needed here.
From Xcode 15 I create it via New File -> Resource -> App Privacy.
Attached is an example of NSPrivacyAccessedAPICategoryUserDefaults. (remove .txt)
Further values for the justifications:

The question is how can I create this file in B4i?
 

Attachments

  • PrivacyInfo.xcprivacy.txt
    633 bytes · Views: 88
Upvote 0

softmicro

Member
Licensed User
Longtime User
Hi.
In my case I have received:

Although submission for TestFlight review was successful, you may want to correct the following issues in your next submission for TestFlight review. Once you've corrected the issues, upload a new binary to App Store Connect.

ITMS-91053: Missing API declaration - Your app’s code in the “WiComPG” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryDiskSpace. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documen...t_files/describing_use_of_required_reason_api.

ITMS-91053: Missing API declaration - Your app’s code in the “WiComPG” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documen...t_files/describing_use_of_required_reason_api.

Apple Developer Relations

I have added the suggested file in this thread and just uploaded it to app store conect and now waiting for the response.
I will comment on the response obtained.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
Please take a look - my app is using document picker. Is it correct?

B4X:
<?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">
<!--
   PrivacyInfo.xcprivacy
   MY App

   Created by MYCompany Sandra on 20.03.24.
   Copyright (c) 2024 Sandra Sandra . All rights reserved.
-->
<plist version="1.0">
<dict>
 <key>NSPrivacyAccessedAPITypes</key>
 <array>
  <dict>
   <key>NSPrivacyAccessedAPIType</key>
   <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
   <key>NSPrivacyAccessedAPITypeReasons</key>
   <array>
    <string>3B52.1</string>
   </array>
  </dict>
 </array>
</dict>
</plist>
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
How to create it if I don't have XCode on my computer?
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
Sorry for might be a dumb question - replace with what?

And second question - do I need to add #PlistExtra line into my code or do I need just to put a manifest file into Files/Special?

Thank you.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
B4X:
<?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>NSPrivacyAccessedAPICategoryFileTimestamp</string>
   <key>NSPrivacyAccessedAPITypeReasons</key>
   <array>
    <string>3B52.1</string>
   </array>
  </dict>
 </array>
</dict>
</plist>
 
Upvote 0

marcick

Well-Known Member
Licensed User
Longtime User
Me too received this email this mornig.

B4X:
 ITMS-91053: Missing API declaration - Your app’s code in the file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp. 

ITMS-91053: Missing API declaration - Your app’s code in the file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategorySystemBootTime. 

ITMS-91053: Missing API declaration - Your app’s code in the  file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryUserDefaults. 

ITMS-91053: Missing API declaration - Your app’s code in the  file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryDiskSpace.

Reading the above posts, sorry it is not clear to me what to do ....
 
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…