[TIMOB-28153] iOS: building for simulator still builds i386 arch
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Medium |
Status | Open |
Resolution | Unresolved |
Affected Version/s | Release 9.2.0 |
Fix Version/s | n/a |
Components | CLI, iOS |
Labels | engSchedule |
Reporter | Christopher Williams |
Assignee | Jan Vennemann |
Created | 2020-09-24T14:50:46.000+0000 |
Updated | 2020-10-01T11:10:06.000+0000 |
Description
When we build for an iOS simulator, generally I think we *have* to be on x86_64 machines now. We do intentionally set
ONLY_ACTIVE_ARCH
to try and speed up builds from targeting unnecessary architectures, but that value is ignored because we're targeting a "generic" simulator target. So we must use EXCLUDE_ARCHS
to avoid targeting i386 and/or arm64.
We already have some logic to exclude arm64 if we have modules/frameworks that don't support arm64-simulator. But ideally we should just always exclude i386/arm64 when building for sim on an x86_64 machine (and exclude i386/x86_64 when eventually building on an arm64 Apple Silicon machine). Otherwise build times are doubled/tripled unnecessarily.
[~cwilliams] this is also affected by the iOS deployment target. Currently our minimum deployment targeted is iOS 10, which still supports 32bit devices so the build automatically builds for i386. If you manually set the minimum deployment target to iOS 11 using
<min-ios-ver>11.0</min-ios-ver>
in the tiapp.xml it now automatically builds forx86_64
.