Giter VIP home page Giter VIP logo

Comments (7)

jaxdesmarais avatar jaxdesmarais commented on September 25, 2024

Hello kunal30xi -

Thanks for reaching out and using the SDK. I was just able to successfully upload our Demo app to TestFlight with a minimum target of 16.0 without issue. Are you able to share additional details around your application setup? I was able to find a few StackOverflow issues related to this error and using Flutter, but am unsure if your application is built using Flutter.

We look forward to hearing back and troubleshooting further.

from braintree_ios.

kunal30xi avatar kunal30xi commented on September 25, 2024

Thanks @jaxdesmarais -

We are not using Flutter. We do have a workaround in place for the time being which is to patch the Info.plist of PPRiskMagnes.framework' MinimumOSVersion key with the Minimum Deployment Target set for the framework (16.0).

As an aside, when we build the IPA, in all cases (with the exception of PPRiskMagnes.framework) the MinimumOSVersion in the Info.plist and the minos value in the tool output of a framework match.

vtool -show PPRiskMagnes
PPRiskMagnes:
Load command 8
      cmd LC_BUILD_VERSION
  cmdsize 32
 platform IOS
    minos 16.0
      sdk 17.0
   ntools 1
     tool LD
  version 1015.7
Load command 9
      cmd LC_SOURCE_VERSION
  cmdsize 16
  version 0.0
plutil -convert xml1 Info.plist
cat Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>BuildMachineOSBuild</key>
        <string>21G419</string>
        <key>CFBundleDevelopmentRegion</key>
        <string>en</string>
        <key>CFBundleExecutable</key>
        <string>PPRiskMagnes</string>
        <key>CFBundleIdentifier</key>
        <string>com.paypal.PPRiskMagnes</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
        <string>PPRiskMagnes</string>
        <key>CFBundlePackageType</key>
        <string>FMWK</string>
        <key>CFBundleShortVersionString</key>
        <string>1.0</string>
        <key>CFBundleSupportedPlatforms</key>
        <array>
                <string>iPhoneOS</string>
        </array>
        <key>CFBundleVersion</key>
        <string>1</string>
        <key>CORR_ID_HEADER_KEY</key>
        <string>paypal-debug-id</string>
        <key>DTCompiler</key>
        <string>com.apple.compilers.llvm.clang.1_0</string>
        <key>DTPlatformBuild</key>
        <string>20C52</string>
        <key>DTPlatformName</key>
        <string>iphoneos</string>
        <key>DTPlatformVersion</key>
        <string>16.2</string>
        <key>DTSDKBuild</key>
        <string>20C52</string>
        <key>DTSDKName</key>
        <string>iphoneos16.2</string>
        <key>DTXcode</key>
        <string>1420</string>
        <key>DTXcodeBuild</key>
        <string>14C18</string>
        <key>MinimumOSVersion</key>
        <string>11.0</string>
        <key>PAYLOAD_ENDPOINT</key>
        <string>https://api-m.paypal.com/AccessControl/LogRiskMetadata</string>
        <key>UIDeviceFamily</key>
        <array>
                <integer>1</integer>
                <integer>2</integer>
        </array>
        <key>UIRequiredDeviceCapabilities</key>
        <array>
                <string>arm64</string>
        </array>
</dict>

As you can see there is a difference between the MinimumOSVersion set in the Info.plist vs the vtool output.

from braintree_ios.

jaxdesmarais avatar jaxdesmarais commented on September 25, 2024

Hey @kunal30xi -

Are you able to provide a small sample app and steps we can take where we can reproduce this error? We also attempted to upload our Carthage demo app with the same settings but were unable to replicate in that demo app as well.

from braintree_ios.

kunal30xi avatar kunal30xi commented on September 25, 2024

Hey @jaxdesmarais I'm able to reproduce this error with the Carthage demo app that you have available in the braintree_ios repo. The difference why you may not be getting the error is that the Carthage demo app is not setup to Embed & Sign the frameworks and the Minimum Deployment Target is set to 12.0 which I updated to 16.0.

Once you do that, the error is easily reproducible with Xcode 15. Attaching screenshots.

change-frameworks-embed-and-sign validation-error-xcode-15

Its important to note that this behavior seems to have changed with Xcode 15, we've not previously encountered this issue before.

from braintree_ios.

jaxdesmarais avatar jaxdesmarais commented on September 25, 2024

Hey @kunal30xi -

Thanks for sending over those reproducible steps! Since PPRiskMagnes is a static library in iOS v6 (noted here in the CHANGELOG) so you should not "Embed and Sign" this framework. Switching this to "Do Not Embed" should allow you to archive as expected.

I tested this locally by setting PPRiskMagnes in the demo app linked above to "Embed and Sign" and reproduced the error you are seeing on archive. Switching this to "Do Not Embed" archived the app as expected. I am not sure why the message reported by Xcode is so misleading as to what the actual issue is, but it may be worth reporting to Apple. I believe this message was much more clear in previous Xcode versions as to how the specific Mach-O type should be linked.

from braintree_ios.

kunal30xi avatar kunal30xi commented on September 25, 2024

@jaxdesmarais Thanks for your response. I can confirm that indeed was the issue. This issue can be closed.

from braintree_ios.

jaxdesmarais avatar jaxdesmarais commented on September 25, 2024

Happy to help, @kunal30xi and glad to hear things are now working as expected! If there are ways that we could make this change more clear for iOS v6, happy to more clearly note this for other merchants that may run into a similar issue.

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.