-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing API declarations & calling of restricted APIs #10498
Comments
Update: Seems like I could reduce the issue to an issue with mlkit NativeScript/mlkit#62 |
It appears we have to add a I haven't tried it yet but hopfully adding the privacy manifest to I guess the other question is, should NativeScript CLI add this automatically to new projects? Or, should the developer be responsible bc the reasons for the API use could be different for each app. Apple will require this for new apps, and updates starting May 1, 2024. |
@rob4226 my understanding is the privacy file needs to be added to the libraries that are linked independent of the app itself. Google did this for MLKit already, hence, I believe an upgrade of the MLKit lib is required for the plugin. But please correct me if I am wrong. I have never worked with privacy files so far. Would be great if someone could provide directions how to resolve the issue. |
@cjohn001 you are right. And N might need one too for |
@farfromrefug could you please share the privacy file? No idea what needs to go in for MLKit. So if I understood right:
|
|
It is important to name the file PrivacyInfo.xcprivacy, this should be changed in the Blog post, too. |
@felixkrautschuk thanks for heads up, just updated the name in the post ❤️ |
Issue Description
Hello together,
I just released an upgrade of the IOS version of my app today and got a warning email sent from Apple that I am missing API declarations. Seems like they further restricted API access and now require an update of Info.plist with usage descriptions. I created a new angular project with ns create to see if the templates got an update on the topic already. Seems like this is not the case.
Update: I just tried to figure out which API calls are relevant and found this list:
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api
Seems like those functions are used in core, i.e. FileSystemAccess (NSFileModificationDate)
NativeScript/packages/core/file-system/file-system-access.ios.ts
Line 6 in db0a852
Do you already have plans on how to deal with the new IOS requirements and could you provide descriptions for the declarations in the templates where API access is required from Nativescript? Seems like those functions should only be used when explicitly required, hence functionality should be separated from core? Thanks for your help!
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 “mnd” 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/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.
ITMS-91053: Missing API declaration - Your app’s code in the “mnd” 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/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.
ITMS-91053: Missing API declaration - Your app’s code in the “mnd” 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/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.
ITMS-91053: Missing API declaration - Your app’s code in the “mnd” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategorySystemBootTime. 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/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.
Apple Developer Relations
Reproduction
No response
Relevant log output (if applicable)
No response
Environment
Dependencies
Please accept these terms
The text was updated successfully, but these errors were encountered: