braintree_ios: Archiving using Xcode 15.3 Fails Due when Including PPRiskMagnes.framework (minimum OS Version specified in the Info.plist)

Braintree SDK Version

6.14.0-16.16.0

Environment

Both

Xcode Version

Xcode 15.3

OS Version & Device

iOS 17.x

Integration type

Swfit Package Manager

Development Processor

Both

Describe the bug

When including PPRiskMagnes.framework, archiving builds fail using Xcode 15.3 locally or using Xcode Cloud. See screenshot.

Previously mentioned here when attempting to submit Privacy Manifest compatible releases to Apple. https://github.com/braintree/braintree_ios/issues/1135#issuecomment-1985951137

To reproduce

Using Xcode 15.3:

  1. Product > Archive
  2. Organizer > Validate App

Using Xcode Cloud with Xcode 15.3 selected produces the same result.

Expected behavior

Archiving the app with Braintree SDK links should work with Xcode 15.3 and pass Apple validation. These errors were once visible for other dependencies like Google Firebase, Crashlytics, etc. but the latest releases of those SDKs resolved this. The only dependency that exhibits this failure is PPRiskMagnes.framework. This blocks us from shipping new releases or updates. Given that all other vendors have resolved this issue, and Braintree is the outlier we believe Braintree needs to address this.

A workaround of archiving with Xcode 15.2 was mentioned as a solution, but this fails with the same validation error. This started failing on March 13, Apple’s announced deadline for Privacy manifest submissions. While these issue are technically unrelated, Apple’s validation scan’s seem stricter about the contents of the .ipa file and the PPRiskMagnes.framework.

Please advise.

Screenshots

311287460-452ecf4f-72d5-49a2-88d6-b201fc147a19

About this issue

  • Original URL
  • State: closed
  • Created 3 months ago
  • Comments: 17 (10 by maintainers)

Most upvoted comments

We’re temporarily downgrading to Xcode 15.2 which is working for submission. While this works, it feels brittle and ideally we should be targeting the latest iOS release. Since Apple introduced the Xcode 15.0 minimum deployment version, I wouldn’t be surprised if they chose to enforce 15.3 sometime with all these other requirements in flight.

Thank you for your help and hard work.

Appreciate your follow up and us getting to a solution. I’ll try to get an answer today on our Xcode 15.2 + Braintree v6. Ideally a Xcode 15.3 solution materializes while we QA our migration.

I was able to successfully archive our demo app with min deployment changed to 15.1 using Xcode 15.3 with our latest SDK, 6.16.0. The Magnes version that we used in the new releases was built with Xcode 14.1, I believe. This should be compatible with your minimum deployment target.

I’m wondering if it could be issue with Xcode holding on to cached data. Have you tried removing derived data?

Let me investigate to see if I can reproduce this error and also check with my team.

Thank you @KunJeongPark. Just cleared derived data and clean build and still seeing the error message. Definitely spooky behavior.

To rule a few more things out, I’m doing some additional tests and will let you know as soon as possible. We have a test app that is free of other dependencies that I can link to Braintree 6.16.0 and see if that builds and validates.