Need guidance for creating the xcprivacy file WITHOUT A MAC when coding on flutter, especially when third party sdks are there.

When you have a mac, creating xcprivacy is pretty straightforward for your app, you simply use xcode, then select the sdks and target them and your privacy manifest is ready.

In the other hand, when you are using CI/CD solutions you might not use xcode direclty. In that instance and if you are coding in flutter, you need to create your privacy manifest by hand. I would like guidance how to write that file, I would it for a given third party SDK and where to put that file in the flutter project (just to be sure) For example we choose the most important third party SDK manifest: FUTTER framework.

I keep getting errors about it for my app, got alot of builds get the INVALID BINARY error because of that, and my mails indicating me a problem with the manifest.

Please show me the source code of the manifest privacy for a project where a third party SDK is present (in particular: flutter sdk)

Thanks

Answered by darkpaw in 832028022

I don't think it matters whether you're using any SDKs, does it? When I create a new privacy file in Xcode I'm not asked to select SDKs. All I'm asked is what to call it, where to save the file, and which app targets it applies to.

That said, it's just a property list XML file. Here's a simple example:

<?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>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>1C8F.1</string>
</array>
</dict>
</array>
</dict>
</plist>

Be sure to choose the correct values from here: https://developer.apple.com/documentation/bundleresources/privacy-manifest-files

I don't think it matters whether you're using any SDKs, does it? When I create a new privacy file in Xcode I'm not asked to select SDKs. All I'm asked is what to call it, where to save the file, and which app targets it applies to.

That said, it's just a property list XML file. Here's a simple example:

<?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>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>1C8F.1</string>
</array>
</dict>
</array>
</dict>
</plist>

Be sure to choose the correct values from here: https://developer.apple.com/documentation/bundleresources/privacy-manifest-files

Hello,

I see, so If I am using CD/CI solutions, I would not have to worry about it?

I simply ned to create the file manually (since I dont have manual control over cloud xcode) and it will automatically solve it even if there are many SDKs out there?

Are you sure?

Can you check one of your .ipa projects and unzip it to see what do the privacy look like? (the project must contain multiple SDKs or even only one (example firebase, or crachlytics etc), and see if Xcode changed your basic example and .. integrated into it the sdk privacy individual manifests, , and if yes, how. Thanks

Need guidance for creating the xcprivacy file WITHOUT A MAC when coding on flutter, especially when third party sdks are there.
 
 
Q