Skip to content
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

[Bug]: ITMS-91064: Invalid tracking information #146

Open
kshrikant opened this issue Nov 14, 2024 · 11 comments
Open

[Bug]: ITMS-91064: Invalid tracking information #146

kshrikant opened this issue Nov 14, 2024 · 11 comments
Labels
bug Something isn't working

Comments

@kshrikant
Copy link

Platform

iOS

Platform Version

iOS 18

Braze SDK Version

11.3.0

Xcode Version

XCode 16

Computer Processor

Apple (M1)

Repro Rate

100

Steps To Reproduce

While build upload its giving error -

Screenshot 2024-11-14 at 7 40 42 PM

Expected Behavior

Build should upload without error.

Actual Incorrect Behavior

Please correct the following issues and upload a new binary to App Store Connect.

ITMS-91064: Invalid tracking information - A PrivacyInfo.xcprivacy file contains invalid tracking information at the following path: “BrazeKit.bundle/PrivacyInfo.xcprivacy”. NSPrivacyTracking must be true if NSPrivacyTrackingDomains isn’t empty. Keys and values in your app’s privacy manifests must be valid. For more details about privacy manifest files, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files.

Apple Developer Relations

Verbose Logs

No response

Additional Information

No response

@kshrikant kshrikant added the bug Something isn't working label Nov 14, 2024
@kshrikant
Copy link
Author

kshrikant commented Nov 14, 2024

@lowip @jerielng @hokstuff could you please help me to resolve this ?

@jerielng
Copy link
Collaborator

jerielng commented Nov 14, 2024

Hey @kshrikant, could you verify the version you are using? This should be resolved in the latest, or any version 9.0.0 or greater.

@kshrikant
Copy link
Author

Hey @kshrikant, could you verify the version you are using? This should be resolved in the latest, or any version 9.0.0 or greater.

yes, as i said its 11.3.0
Screenshot 2024-11-14 at 8 20 34 PM

@jerielng
Copy link
Collaborator

@kshrikant Could you write into support@braze.com with further details of your project, including:

  • whether you are using static or dynamic frameworks
  • whether you are using strictly the Braze Swift SDK, or a hybrid wrapper SDK (like React Native or Flutter, for example)
  • a copy of your Podfile
  • a copy of the BrazeKit privacy manifest that's bundled in your upload binary

In your email, reference this GitHub issue, and our support team will be able to dive in deeper to diagnose this. Thanks!

@kshrikant
Copy link
Author

kshrikant commented Nov 14, 2024

@jerielng We are using static framework by installing 11.3.0 version.

I got this latest update from Apple -

https://developer.apple.com/documentation/bundleresources/adding-a-privacy-manifest-to-your-app-or-third-party-sdk

From Nov 12 2024 there is update about the structuring the path -

PrivacyInfo.xcprivacy at SampleFramework.framework/PrivacyInfo.xcprivacy:

But for Brazekit I can see the path is little different for reference -

Screenshot 2024-11-14 at 10 41 32 PM Screenshot 2024-11-14 at 10 41 43 PM

Could you please check this once and let me know ?

@jerielng
Copy link
Collaborator

@kshrikant At the moment, we don't have reason to believe that the path is incorrect since the email you shared was able to successfully detect the location of the privacy manifest. The error message in that email indicates an issue that was resolved in 9.0.0, where we removed the URLs from the list of tracking domains. If you are able to write in to our support team, we should be able to dive deeper into this to understand the issue further.

@envisean
Copy link

Any update to this? I am dealing with the same thing on our latest build as I'm submitting it to Apple App Store

@lowip
Copy link
Collaborator

lowip commented Feb 20, 2025

Hi everyone,

Some context

  • This issue exists only when integrating the static versions of our XCFrameworks, which includes the XCFramework distributed by the two repositories:
  • With the release of Xcode 15, Apple has added first-party support for resources in static XCFrameworks.
    • Until then, resources included in the static XCFramework would not be copied into your final .ipa / .app package.
    • We provide additional resources-only targets in our Package.swift as a workaround for this limitation, which are automatically included as part of the distributed product (e.g., BrazeKitResources).
    • Unfortunately, our testing revealed that Apple's implementation of resources in static XCFrameworks was not working as expected in all contexts until Xcode 15.3. Specifically, static XCFrameworks distributed via SwiftPM do not copy their resources into the final .ipa / .app package until Xcode 15.3.
    • The PrivacyInfo.xcprivacy is one of these resources.
  • Braze strives to support as many integrations as possible, remaining as close as possible to what is allowed to be distributed on the App Store. At the time of this comment, the App Store requires using Xcode 15.0+ and iOS 12+, while Braze requires using Xcode 15.2+ and iOS 12+.
    • Apple updates those requirements every year ahead of WWDC (around end of April — i.e., last year's announcement).
    • We cannot upgrade our own requirements until Apple forces each of our clients to upgrade their Xcode version.
  • This App Store warning will disappear once we are able to distribute our static XCFrameworks with more recent versions of Xcode.
    • This new requirement will ensure that all of our clients use versions of Xcode that fully support resources in static XCFrameworks.

Workaround

For the time being, the easiest way to avoid this warning is to integrate the dynamic variant of our SDK: https://github.com/braze-inc/braze-swift-sdk-prebuilt-dynamic

We will make sure to update this thread once the situation with our distributed static XCFrameworks is resolved, most likely at the end of April / beginning of May of this year.

@envisean
Copy link

Hi @lowip we're using braze w/ react-native, based on the link you provided, is the fix as simple as just adding in the 2 lines for the Podfile?

We are using @braze/react-native-sdk@^9.0.0

@envisean
Copy link

@lowip ok, it's not just a warning from Apple, they won't allow us to release the software. I tried switching this w/ the dynamic library, and apparently we already had our own PrivacyInfo file at the top level of the project. I'm not sure what changed here recently, but builds even a month ago were perfectly fine with the App Store. I emailed the support team as well, but haven't heard back.

@lowip
Copy link
Collaborator

lowip commented Feb 21, 2025

Hi @envisean, please update @braze/react-native-sdk to at minimum 10.0.0. The version of the underlying Swift SDK you are currently running does not includes the finalized version of our privacy manifests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants