Comments (7)
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.
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.
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.
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.
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.
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.
@jaxdesmarais Thanks for your response. I can confirm that indeed was the issue. This issue can be closed.
from braintree_ios.
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)
- Make errors public HOT 4
- Apple Review Rejection for saving the payment method for future transaction HOT 1
- BTVenmoClient `tokenize` async method leaks memory and does not return/throw an error when the user cancels the authorisation. HOT 5
- PayPalDataCollector.h HOT 4
- fetchPaymentMethodNonces in BTAPIClient return wrong nonce types HOT 4
- Staging URLs present in production code - Security Issue - For our Customer HOT 18
- Error on pod install after the release of Braintree version 6.8.0 HOT 5
- Unable to Use The Package HOT 5
- policy required: Xcode15 requires Privacy Manifest HOT 22
- V6 Migration guide has incorrect system requirement HOT 2
- Production Access HOT 1
- Better Error Handling HOT 3
- BTThreeDSecureClient.initializeChallenge never completes HOT 3
- Expose SDK struct definitions to consumer apps to enable overridability exclusively for writing unit tests. HOT 4
- ErrorCode 2 and ErrorMessage is 無法完成作業。forbidden HOT 3
- Archiving using Xcode 15.3 Fails Due when Including PPRiskMagnes.framework (minimum OS Version specified in the Info.plist) HOT 17
- Command SwiftCompile failed with a nonzero exit code HOT 3
- 📣 Upgrade your integration to continue accepting Braintree payments HOT 4
- Expose `prefersEphemeralWebBrowserSession` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from braintree_ios.