Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[馃専] ITMS-91053 (Apple Required Reasons APIs): Declare an approved Required Reason for NSPrivacyAccessedAPIType #2288

Open
taylorkline opened this issue Mar 25, 2024 · 11 comments
Labels
馃専 Feature Request Issue describes a feature request.

Comments

@taylorkline
Copy link
Contributor

Description

This picker uses the creationDate from the FileManager class, which by May 1, 2024, must be declared with an approved reason in a Privacy Manifest.

Proposed Solution

  • Create a Privacy Manifest named PrivacyInfo.xcprivacy with an appropriate entry for NSPrivacyAccessedAPIType within the NSPrivacyAccessedAPITypes array.
    • Likely reason code: 3B52.1 - "Declare this reason to access the timestamps, size, or other metadata of files or directories that the user specifically granted access to, such as using a document picker view controller."
    • As a reference: List iOS APIs requiring privacy reasons聽expo/expo#27770

Test Solution

Ensure that none of the Required Reasons APIs are used without a provided, Apple-approved reason.

This iOS 17 Required Reasons scanner may be ran on the codebase.

Additional Notes

It's possible that there are System boot time APIs or Disk space APIs that must also be declared. I did not perform an exhaustive search.

@taylorkline taylorkline added the 馃専 Feature Request Issue describes a feature request. label Mar 25, 2024
@vasuchawla
Copy link

Can confirm on the NSPrivacyAccessedAPICategoryDiskSpace NSPrivacyAccessedAPICategorySystemBootTime requirements too

@antoninleissen
Copy link

I'v got 4 requirements from apple when trying to submit :

  • NSPrivacyAccessedAPICategorySystemBootTime
  • NSPrivacyAccessedAPICategoryFileTimestamp
  • NSPrivacyAccessedAPICategoryDiskSpace
  • NSPrivacyAccessedAPICategoryUserDefaults

@Jignesh1303
Copy link

Found potentially required reason API usage '.creationDate' in './node_modules/react-native-image-picker/ios/ImagePickerManager.m'
Line numbers: 198 263

@aliza-khu
Copy link

Has anyone found a solution to this?

I'v got 4 requirements from apple when trying to submit :

  • NSPrivacyAccessedAPICategorySystemBootTime
  • NSPrivacyAccessedAPICategoryFileTimestamp
  • NSPrivacyAccessedAPICategoryDiskSpace
  • NSPrivacyAccessedAPICategoryUserDefaults

@LCseniordev
Copy link

Are there any updates or plans for this?

Thank you!

@Baudouin-Renie
Copy link

Hi @Johan-dutoit, could you please tell us when the Privacy Manifest File will be available in the public repo? Starting tomorrow, we'll need it to release our app in the AppStore. Thanks a lot!

@aliza-khu
Copy link

aliza-khu commented May 1, 2024

@Baudouin-Renie, Same here. The issue opened on 26 March, Still, there is no update on this even though it binds with Apple's deadline and can stop releasing new app versions. 馃槥

@alzalabany
Copy link

guys any updates ? can someone give us pointers how to bypass this, i must release this week and still getting warning

@aliza-khu
Copy link

aliza-khu commented May 6, 2024

@taylorkline, @Johan-dutoit, Can you share any input on this?

@liamjones
Copy link

There's a PR open for this: #2292

If you need it before it's in a release, you could apply it via patch-package.

@taylorkline
Copy link
Contributor Author

taylorkline commented May 8, 2024

You don't need this library to declare its privacy manifest (though Apple would like all libraries to provide their own, and you are responsible for the libraries you use). You can declare a valid reason in your own project's privacy manifest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
馃専 Feature Request Issue describes a feature request.
Projects
None yet
Development

No branches or pull requests

9 participants