Skip to content

Add documentation on how to provide the Apple Privacy Manifest#20292

Merged
mcumming merged 16 commits into
dotnet:mainfrom
mcumming:apple-privacy-manifest
Mar 21, 2024
Merged

Add documentation on how to provide the Apple Privacy Manifest#20292
mcumming merged 16 commits into
dotnet:mainfrom
mcumming:apple-privacy-manifest

Conversation

@mcumming

@mcumming mcumming commented Mar 12, 2024

Copy link
Copy Markdown
Contributor

From https://developer.apple.com/news/?id=3d8a9yyh

Starting March 13: If you upload a new or updated app to App Store Connect that uses an API requiring approved reasons, we'll will send you an email letting you know if you’re missing reasons in your app’s privacy manifest. This is in addition to the existing notification in App Store Connect.

Starting May 1: You’ll need to include approved reasons for the listed APIs used by your app’s code to upload a new or updated app to App Store Connect. If you’re not using an API for an allowed reason, please find an alternative. And if you add a new third-party SDK that’s on the list of commonly used third-party SDKs, these API, privacy manifest, and signature requirements will apply to that SDK. Make sure to use a version of the SDK that includes its privacy manifest and note that signatures are also required when the SDK is added as a binary dependency.

Document preview

fixes: #20059

Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
mcumming and others added 5 commits March 12, 2024 10:48
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
mcumming and others added 5 commits March 12, 2024 13:30
Co-authored-by: Haritha Mohan <harithamohan@microsoft.com>
Co-authored-by: Haritha Mohan <harithamohan@microsoft.com>
Co-authored-by: Haritha Mohan <harithamohan@microsoft.com>
Co-authored-by: Haritha Mohan <harithamohan@microsoft.com>

@jfversluis jfversluis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing work, lgtm!

Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated

@jfversluis jfversluis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found some (minor) things on a second pass

Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated

@akoeplinger akoeplinger left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a couple comments but looks good overall!

Comment thread docs/apple-privacy-manifest.md Outdated
**Note:** The above guidelines are provided for your convenience. It’s important that you review Apple’s documentation on [privacy manifest files][PrivacyManifestFiles] before creating a privacy manifest for your project.

**Important:**
The following information is provided based on Apple's documentation as of March 2024. It is recommended that you review Apple’s documentation on [privacy manifest files][PrivacyManifestFiles] when creating a privacy manifest for your project to ensure you are using the most recent guidelines. If you find any discrepancies in the information below, please [file a bug](https://github.com/dotnet/maui/issues) and include the API in question.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should the issue link point to xamarin-macios given that the file lives in that repo?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dalexsoto And I thought that starting with the .NET MAUI repository was best for issues since we are assuming most of the customers would be reporting for a .NET MAUI app.

Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
1. In the `Save As` dialog, leave the filename as `PrivacyInfo` as that is the required name for the file.
1. Click `Create` and close Xcode.
1. Use Finder to copy the `PrivacyInfo.xcprivacy` file from the Xcode project to your documents folder for now.
1. The Xcode project is no longer needed and can be deleted.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what the benefit of the detour through Xcode is, I tried it and it just generated the empty skeleton that you have as an example below here anyway.

I'd remove this and let the user start from the example that already has the reasons required by the runtime to simplify the guide.

Comment thread docs/required-reasons-macios.md Outdated
Comment thread docs/required-reasons-macios.md Outdated
Comment thread docs/required-reasons-macios.md Outdated
Comment thread docs/required-reasons-macios.md Outdated
Comment thread docs/required-reasons-macios.md Outdated
Comment thread docs/apple-privacy-manifest.md Outdated
Comment on lines +230 to +238
1. Copy the `PrivacyInfo.xcprivacy` from your documents folder to the root folder of your .NET for tvOS project.
1. In your favorite text editor, edit the .NET for tvOS csproj project file.
1. Add the following elements to the bottom of the root `<Project>` element:
```xml
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tvos'">
<BundleResource Include="PrivacyInfo.xcprivacy" LogicalName="PrivacyInfo.xcprivacy" />
</ItemGroup>
```
This will package the file into the tvOS app at the root of the bundle.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same procedure as for iOS (putting in a Resources folder) didn't work for tvOS?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no Resources folder in a tvOS app by default.

Comment thread docs/apple-privacy-manifest.md Outdated
Comment thread docs/required-reasons-dotnet-maui.md Outdated
Comment thread docs/required-reasons-dotnet-maui.md Outdated
Comment thread docs/required-reasons-macios.md Outdated
Comment thread docs/required-reasons-bcl.md Outdated
Comment thread docs/required-reasons-bcl.md Outdated
Comment thread docs/required-reasons-bcl.md Outdated
Comment thread docs/required-reasons-bcl.md Outdated
Comment thread docs/required-reasons-bcl.md Outdated
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
@mcumming mcumming merged commit 4854f70 into dotnet:main Mar 21, 2024
@mcumming mcumming deleted the apple-privacy-manifest branch March 21, 2024 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement support for Privacy Manifests

7 participants