I just double-clicked the .ips file in Finder and it opened, converted and displayed in Console with "Translated Report" at the top.
Post
Replies
Boosts
Views
Activity
If you look at the app in the archive or in the build products folder, does the info.plist file contain NSMicrophoneUsageDescription? (control-click and select "Raw Keys and Values" to make Xcode show the real key instead of the 'friendly' description)
So far, you need too manually setup the App Privacy Info. The report that Xcode builds is a tool to help you fill out the App Privacy Info, but it is still manual for the app developer.
It is possible that some features of an SDK might collect information only if enabled, but the app does not enable the feature. Perhaps this is why Apple does not yet try to automatically fill out the information from the manifests (which could be useful.)
You might wish to keep the privacy PDF report for the previous version of your app so you can compare it to the PDF for the next app version.
Only Apple can say what the status of their scanning is. My understanding is that submitting for review does trigger the scans.
There are some interpretations of the rules that suggest that resubmitting the app with the same SDKs that were already approved for the app will not be rejected. Perhaps you experience is this rule in action.
This developer forums post suggests that apps are being rejected due to issues with privacy manifests: ITMS-91054: Invalid API category declaration
Apple has added this page to its documentation, which includes instructions for manifests with static libraries.
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/adding_a_privacy_manifest_to_your_app_or_third-party_sdk
Apple removed the quoted paragraph from the documentation.
We noticed today, but it was done some time between April 18 and April 25.
So the answer must be 'Yes, app extensions require privacy manifests."
No, your issue is not related to using pre-release software. The issue is related to changes in policy.
For an introduction: see WWDC 2023 session 10060, "Get started with privacy manifests"
https://developer.apple.com/videos/play/wwdc2023/10060/
For the latest documentation see this page and the pages under it:
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files
Note that Apple has stated their schedule for Privacy Manifests in the following articles:
https://developer.apple.com/news/?id=pvszzano
https://developer.apple.com/news/?id=3d8a9yyh
Apple has updated the documentation some time in the last week. The location is now spelled out in these pages:
Adding a privacy manifest to your app or third-party SDK (new page)
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/adding_a_privacy_manifest_to_your_app_or_third-party_sdk
Placing content in a bundle:
https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle
For static libraries, see section "Distribute your static library with a privacy manifest"
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/adding_a_privacy_manifest_to_your_app_or_third-party_sdk#4336752
Otherwise:
macOS app:
Contents/Resources/
macOS framework
Versions/A/Resources/
iOS, watchOS, tvOS, visionOS (apps and frameworks)
/
meaning the root of the bundle
Apple has updated the documentation some time in the last week. Your question may be answered in the new page:
Adding a privacy manifest to your app or third-party SDK
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/adding_a_privacy_manifest_to_your_app_or_third-party_sdk
Apple has updated the documentation some time in the last week. The answer might be in the new page:
Adding a privacy manifest to your app or third-party SDK
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/adding_a_privacy_manifest_to_your_app_or_third-party_sdk
Apple has updated the documentation some time in the last week. The location is now spelled out in these pages:
Adding a privacy manifest to your app or third-party SDK (new page)
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/adding_a_privacy_manifest_to_your_app_or_third-party_sdk
Placing content in a bundle:
https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle
For static libraries, see section "Distribute your static library with a privacy manifest"
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/adding_a_privacy_manifest_to_your_app_or_third-party_sdk#4336752
@DTS Engineer , we have added empty manifests because we worry that people will not be able to tell the difference between these situations:
there is no manifest because we use no APIs requiring reason codes and we collect no data
there is no manifest because we did not check if we needed a manifest
Is there any penalty for adding an empty manifest?
@YaTian , I think you are referring to the app's privacy report, which Xcode can generate from an app archive.
It is only used for filling out the forms for privacy information in App Store Connect when you submit your app for review.
The full quote from Upcoming third-party SDK requirements
When you prepare to distribute your app, Xcode will combine the privacy manifests across all the third-party SDKs used by your app into a single, easy-to-use report. With one comprehensive report that summarizes all the third-party SDKs found in an app, it will be even easier for you to create more accurate Privacy Nutrition Labels
See also: Create your app’s privacy report
From a reading of the documentation, I am assuming that a privacy manifest (PrivacyInfo.xcprivacy) file is required for a framework or app bundle, even if all the entries are empty because nothing is collected.
Note that 4 top-level elements are required in PrivacyInfo.xcprivacy
In this post,
System Uptime | Apple Developer Forums
eskimo discusses kern.boottime, saying
Be aware that this time will change if the system clock changes, that is, the value is the boot time relative to the current system clock.
And the system clock might be updated via network time server when the system connects or reconnects to a network.