Giter VIP home page Giter VIP logo

Comments (17)

RGG-jayoung avatar RGG-jayoung commented on July 30, 2024 1

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.

from braintree_ios.

RGG-jayoung avatar RGG-jayoung commented on July 30, 2024 1

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.

from braintree_ios.

RGG-jayoung avatar RGG-jayoung commented on July 30, 2024 1

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.

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

Hello,
Which version of the SDK are you using? And what is your minimum deployment target?

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.

from braintree_ios.

RGG-jayoung avatar RGG-jayoung commented on July 30, 2024

Hi @KunJeongPark thank you for the quick response.

  • Braintree SDK 16.16.0 (also tried this with 16.14.0, 16.15.0).
  • Minimum Deployment Target: iOS 15.1
image image

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

Thank you.

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

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.

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

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.

from braintree_ios.

RGG-jayoung avatar RGG-jayoung commented on July 30, 2024

After a lot of experimentation, the validation during submission still fails. Findings below:

We saw Firebase listed in a similar fashion, accounting for about 30-60 errors on validation. After updating to the latest version, their workaround modifies their minimum OS version to be "100". This works, clearing out all the errors except PPRiskMagnes.framework.

After archiving the build and opening the .ipa file, here are the contents of the Info.plist of these 2 for comparison.

image image

Validating the app against the store produces the following error (either through Xcode > Organizer > Validate App) or using Xcode Cloud via CI.

Validation Fails

If you modify the PPRiskMagnes.framework > Info.plist inside of the archive, and then submit it again for validation it passes. So its really just the value of this string provided by the framework blocking the validation.

Validation Succeeds

While we could technically implement a post release script as a workaround, it feels quite wrong to be manipulating a framework's internal contents that we don't own. That also means modifying our CI system and changing our standard deployment process.

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

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 MinimumOSVersion as 11.0.
Thank you for the screenshots and giving us more details, that was very helpful.

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.

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

Hello,
I was able to resolve this issue by archiving/validating our demo app with Xcode 15.2.
I also created a sample app to integrate our latest SDK using SPM and archiving/validating with Xcode 15.2
was successful.

The issue with Xcode 15.3 seems to be an Apple bug. Would you be able to file a bug?
I appreciate your bringing this issue to our attention.

Would you be able to give us screenshots/error messages when you use Xcode 15.2?

Thank you.

from braintree_ios.

RGG-jayoung avatar RGG-jayoung commented on July 30, 2024

Hello, I was able to resolve this issue by building our demo app with Xcode 15.2.

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?

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

I will contact them about this issue today. They are have been very prompt in their responses.
We were focused so far on trying to figure out a work around so that you can get your app approved.

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.

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

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.

from braintree_ios.

RGG-jayoung avatar RGG-jayoung commented on July 30, 2024

@KunJeongPark did the Magnes team provide any updates on packaging with Xcode 15.3? Any sense on timing.

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

Yes, they did provide us with the static copy of the framework that we use in the SDK with Info.plist MinOSVersion modified to "100" last Friday afternoon. I verified that this works with the SPMTest app that we have that integrates our SDK 6.16.0 with PPRiskMagnes framework when archiving and validating with Xcode 15.3.

I want to test this a bit more and discuss with the team if this is a solution we want to offer.
Were you able to verify that downgrading to Xcode 15.2 works for your app that others have mentioned as a workaround? I verified with our test app that this solution works with PPRiskMagnes without manually changing the Info.plist MinOSValue to 100.

We will get back to you in the next few days. Thank you for your patience.

from braintree_ios.

KunJeongPark avatar KunJeongPark commented on July 30, 2024

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.

from braintree_ios.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.