braintree_ios
braintree_ios copied to clipboard
Bitcode is missing in PPRiskMagnes & CardinalMobile
Integration Details (please complete the following information):
- Braintree SDK Version: 5.5.0
- Environment: All
- iOS Version: iOS 15.0
- Xcode Version: Xcode 13.1
- Device: iPhone 13
- Integration type & version: CocoaPods 1.11.2
Describe the bug Xcode shows warnings when build ld: warning: all bitcode will be dropped because 'PATH/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/Braintree/PayPalDataCollector/PPRiskMagnes.framework/PPRiskMagnes' was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. ld: warning: all bitcode will be dropped because 'PATH/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/Braintree/ThreeDSecure/CardinalMobile.framework/CardinalMobile' was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.
To Reproduce Steps to reproduce the behavior:
- Build project
Expected behavior PPRiskMagnes & CardinalMobile framework should include bitcode.
π Hi @bofeizhu - are you seeing this on an Intel or M1 Mac?
π Hi @bofeizhu - we were able to create sample app using CocoaPods v1.11.2 that imports Braintree (Magnes & Cardinal). We were able to run, build, and archive successfully without any bitcode warnings like you're showing.
Can you provide more details on exactly how to replicate or any specifics on your project setup that could be linked to this issue?
Hi @scannillo, yes this is on M1 Mac and still happening with CocoaPods 1.11.2. Did you, by any chance, not enable bitcode in your test project?
My app does have bitcode enabled yes, but I am still unable to replicate (on both an M1 and an Intel machine).
Can you provide more specifics on when you replicate this? Is it a simulator or device build? Is it just a build/run or an archive?
Also, if you can create a standalone sample app that just pulls in the problematic Braintree dependencies and replicates this issue (and send it to us) that would be the most helpful for us!
π So - @sarahkoop, @jaxdesmarais, and I were able to replicate, but not consistently.
By default, Xcode sets ENABLE_BITCODE
to YES
. Using that default setting on a new project, we were not able to replicate your issue.
Following these steps, we were able to replicate:
- Toggle Xcode project
ENABLE_BITCODE
Build Setting toNO
- Build the project
- Toggle back to
YES
- Build the project
- See warnings similar to the ones you posted about
When we ran the sample app on a device, these warnings/errors went away. We were also able to archive successfully. Can you confirm this is also what you see?
There seems to be a few similar open issues online (ex: apple forums) with no resolution, but the issue seems to be specific to bitcode on the M1 Mac.
π Just wanted to update this thread that we posted in both bugs.swift.org and in Apple's Developer forum. We believe this to be an Apple concern.
Please follow along in those threads!
BTW bitcode support will be deleted in Xcode 14.
Starting with Xcode 14, bitcode is no longer required for watchOS and tvOS applications, and the App Store no longer accepts bitcode submissions from Xcode 14.
Xcode no longer builds bitcode by default and generates a warning message if a project explicitly enables bitcode: βBuilding with bitcode is deprecated. Please update your project and/or target settings to disable bitcode.β The capability to build with bitcode will be removed in a future Xcode release. IPAs that contain bitcode will have the bitcode stripped before being submitted to the App Store. Debug symbols for past bitcode submissions remain available for download. (86118779)
https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-14-release-notes
Hi folks, closing this due to inactivity. If you continue to encounter problems, please make a new issue.