-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Xcode 6.x cannot link against Bitcode-enabled libMapbox.a #2332
Comments
Things are broke in Xcode 6.4 as well, since Per the above OpenRadar link, it's not clear how you can conditionally enable Bitcode based on architecture vs. build configuration. This might be an Xcode 7 GM issue, too. |
Wondering if it's acceptable to release |
https://forums.developer.apple.com/thread/17529 proposes that one ship two versions of their library — one with Bitcode, one without. Which would be 4x for us, considering symbolicated / stripped as well. |
Useful script for building device with Bitcode / sim without: realm/realm-swift#2482 |
I think the way forward here is to re-cast |
- Bump minimum version to iOS 8 - Disable Bitcode (mapbox/mapbox-gl-native#2332) - Update for v8 styles - Change imports to Mapbox.h
....so, will there be an XCode-7 compatible build out sometime soon? |
Xcode 7 compatibly is in |
We’ll need to compile a fat binary with Bitcode both enabled and disabled based on device versus simulator, then /cc @springmeyer |
@1ec5 - maybe we could make it possible for some environment variable to toggle bitcode in the compile/link when building with mason. Then you could - outside of mason - just the build twice and handle lipo'ing the results yourself? Or do you think "bi-fat" binaries are something mason should enable out of the box? |
Mason already enables Bitcode for device architectures and disables it for simulator architectures before |
So far I’ve been looking at producing a fat binary that has Bitcode enabled or disabled all the way down to Mason, but the main holdup has been explicitly disabling Bitcode in the gyp-generated projects when built in Xcode 7 – the We’re now looking at a simpler route, which is to distribute two completely separate builds, one built in Xcode 7 (with Bitcode) and one built in Xcode 6.4 (without). The Bitcode-less build will be installable as an optional CocoaPod subspec. I still need to work out how this will impact our release tooling. |
My current thinking is that we’d run an additional publish build that strips the binary of Bitcode markers after the fact:
It works well, but I do get plenty of warnings along these lines:
|
Publish a Release-configuration, symbol-laden, Bitcode-less build in tandem with the other builds. Fixes #2332.
Since we landed Bitcode in
ios-v2.1.1
, device builds for this test project, as well as dependent projects, don't work with target build errors such as:Per @friedbunny, this might be a lead:
http://www.openradar.me/21884601
/cc @1ec5
The text was updated successfully, but these errors were encountered: