-
Notifications
You must be signed in to change notification settings - Fork 290
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
Archiving using Xcode 15.3 Fails Due when Including PPRiskMagnes.framework (minimum OS Version specified in the Info.plist) #1229
Comments
Hello, We just released 6.15.0 with updates with Magnes version with its own Privacy Manifest yesterday, March 18th. We released 6.16.0 with more minor update today, March 19th. |
Hi @KunJeongPark thank you for the quick response.
|
Thank you. |
I was able to successfully archive our demo app with min deployment changed to 15.1 using Xcode 15.3 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. |
Thank you. I just tested archiving a new app using SPM and versions that you indicated and I was also able to successfully archive the app with a team member. Please let us know if there are any details in your implementation that might be relevant for us to investigate. |
I apologize, I misunderstood your original question, I thought you had failure in archiving and now I see the error was in the validation. I see the same error in validation and I do see the same Info.plist showing Looks like this is a known issue: googleads/swift-package-manager-google-mobile-ads#62 I will discuss this with my team tomorrow to see if we need to reach out to the Magnes team. |
Hello, The issue with Xcode 15.3 seems to be an Apple bug. Would you be able to file a bug? Would you be able to give us screenshots/error messages when you use Xcode 15.2? Thank you. |
Good to hear. Similar to Firebase and others implementing the workaround in their frameworks, what is the plan for PPRiskManges.framework to build with Xcode 15.3 moving forward? |
I will contact them about this issue today. They are have been very prompt in their responses. If you continue to have problems with Xcode 15.2, it would be helpful for us to have a sample app where you can reproduce the issue that you are seeing. Thank you. |
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. |
Thank you, this appears to be an Apple bug, seems like many have filed radars for this issue. I have contacted Magnes team to see if there are viable workarounds for Xcode 15.3. |
@KunJeongPark did the Magnes team provide any updates on packaging with Xcode 15.3? Any sense on timing. |
Yes, they did provide us with the static copy of the framework that we use in the SDK with Info.plist I want to test this a bit more and discuss with the team if this is a solution we want to offer. We will get back to you in the next few days. Thank you for your patience. |
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. |
You're welcome. I felt uncomfortable about workaround of manually changing the plist MinOSVersion because I am not privy to exact nature of the Apple bug with Xcode 15.3 and I couldn't find any documentation on why this workaround causes validation to pass for this scenario. Although we had validations pass for multiple scenarios with this workaround and verified difference in archive folder structures between Xcode 15.2 and Xcode 15.3, I was in the middle of testing various scenarios by creating my own xcframeworks just to be sure. Another concern I had was with possibility of Apple fixing their validation issue which might break the workaround. Thank you. I am relieved as I think that would have been my decision as well. |
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.
#1135 (comment)
To reproduce
Using Xcode 15.3:
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
The text was updated successfully, but these errors were encountered: