hello,
do i need put this file each time after make cap sync ios command?
I think so, for the pods one. I haven’t had to run it yet.
It’s also not pushed to the repo by default.
Hello im having problems with this too, I just need a clarification for the step 2 you mentioned in your solution. What do you mean a combined privacy file from all of them? I checked every file and it has the same for every sdk
@KyleOlympia I have update my answer here with the combined file.
If they have the same you only need them once.
How do we do it for flutter anybody?
Hi @wekas, Thanks for the fix. I am still facing issues with Firebase Core Diagnostics. How did you fix that one?
I tried to update it to the latest version (9.6.0) but that does not have the Privacy file included. When I manually added the privacy file, my app got rejected.
Below is the message from Apple:
ITMS-91056: Invalid privacy manifest - The PrivacyInfo.xcprivacy file from the following path is invalid: �€œFrameworks/FirebaseCoreDiagnostics.framework/PrivacyInfo.xcprivacy�€. Keys and values in your app�€™s privacy manifests must be valid. For more details about privacy manifest files, visit: Privacy manifest files | Apple Developer Documentation.
That’s not the latest version though. The latest version for the Firebase SDK is 11.11.0. The privacy manifest was added in 10.22.0. See IOS - ITMS-91061: Missing privacy manifest - #2 by twestrick
The privacy manifest I listed above worked for me for firebase 8.2.5.
Hi, I tried this but I’m still being rejected by AppStore because of
“Frameworks/Capacitor.framework/Capacitor” and “Frameworks/Cordova.framework/Cordova”.
If I convert the .ipa to zip and open it I don’t see the PrivacyInfo.xcprivacy file in App.app\Payload\App.app\Frameworks folder, should it be there? I see it only in App.app
I’ve tried adding the file using XCode in Pods/Frameworks and Pods/Frameworks/ios and none of them worked.
What else can I try?
Thanks.
- FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics
did you have the one for this?
The instructions above seem to work for most people. Not sure what else to try sorry.
I don’t have that one sorry.
I just had to do this again as running npx cap sync ios seemed to remove the reference to the privacy manifest in the frameworks folder. Although the file was still there.
In Xcode → left side menu under Pods.
Right click the Frameworks folder and select “New File From Template”.
Search for “Privacy” and select that.
Save as “PrivacyInfo.xcprivacy” and make sure to select all the yellow items in the targets box (under Group). I did not select the red or blue ones.
Click “Create”
Add the contents of your other PrivacyInfo.xcprivacy file to this file.
Man I hate Apple sometimes. Getting apps to the store is a constant headache.
Just adding another option if the file reference has been removed by npx cap sync but thePrivacyInfo.xcprivacy file is still under the Pods folder.
- Right click the top level Pods folder
- Select “Add Files to ‘Pods’…” (
not “New File From Template”) - In the file picker, select your existing
PrivacyInfo.xcprivacy. - In the dialog:
-
Untick “Copy items if needed” (the file is already in the right place).
-
Make sure all the relevant targets (yellow icons) are checked.
-
- Click Add.
In my case, I only needed to add the privacy manifest to the GoogleToolboxForMac/Resources directory.
Just adding another option for folks who are running npx cap sync in a CD pipeline:
- Add the
PrivacyInfo.xcprivacymentioned above to your repo outside of the ios directory. - After
npx cap sync, copy the privacy manifest to the necessary directory.- GoogleToolboxForMac/Resources
- In a node script, I used the
xcodenpm package to add the privacy manifest as a resource (this is just pseudocode but should help you figure things out):- const project = xcode.project(PROJECT_PATH)
- project.addResourceFile(PRIVACY_PATH, FILE_OPTS, RESOURCES_UUID)