Boost 1.81.0 for iOS
Boost is a large, peer-reviewed collection of portable C++ libraries that both fills gaps in the standard library and serves as a proving ground for features—many of which (like smart pointers, regex, and filesystem) later get adopted into the C++ standard itself.
Precompiled Boost 1.81.0 XCFramework for arm64 iOS devices and arm64/x86_64 iOS Simulator. Includes all headers, compiled-component inventories, CMake and pkg-config metadata.
- Boost 1.81.0 upstream release page
- C++ language standard: C++20
- Minimum iOS version: 12.0
Included compiled libraries
boost_chrono— Compiled date and time duration support.boost_date_time— Compiled date/time library retained for build compatibility.boost_filesystem— Compiled Filesystem supports v3 and the opt-in v4 API; string-view path support is available.boost_graph— Compiled Graph algorithms.boost_locale— Localization backends available without optional ICU packaging; the Boost 1.81 Locale update is included.boost_random— Compiled random_device implementation.boost_system— Error-code support required by several compiled libraries; result emplace is covered.boost_thread— Portable threading primitives.boost_context— Architecture-specific fcontext implementation carried forward from the validated configuration.boost_nowide— Compiled UTF-8 adapters with generic conversion and fopen coverage.boost_json— Compiled parser and DOM support; described and optional value conversions are covered.boost_serialization— Binary archive round-trip and shared-pointer identity are covered in memory.boost_url— New compiled URL parser; URI parsing receives dedicated Simulator and device coverage.boost_container— Compiled polymorphic memory resources receive dedicated allocation coverage.boost_log— Compiled logging core and setup support receive dedicated record coverage.boost_stacktrace— Compiled portable basic backend receives dedicated capture coverage.boost_timer— Compiled CPU timer receives dedicated elapsed-time coverage.boost_type_erasure— Compiled dynamic binding support receives dedicated runtime type-erasure coverage.
All Boost headers are included. Header-only facilities remain available even
when their related compiled library is not part of the combined static binary.
Release features and exclusions
Boost 1.81.0 was released on December 14, 2022. This package remains on C++20
and carries forward the compiled Context, Nowide, JSON, and Serialization
configuration. The combined static archive adds Boost.URL, Log, Container,
Timer, TypeErasure, and the portable Stacktrace basic backend.
New and updated coverage
- URL exercises URI parsing, path-segment access, and normalized output.
- Unordered exercises the new open-addressing
unordered_flat_map. - JSON and Describe exercise conversion of a described structure and
std::optionalthroughvalue_fromandvalue_to. - System exercises the new
result::emplaceAPI. - Log opens and submits a source record through the logging core.
- Container allocates a PMR vector from a local monotonic resource.
- Timer checks wall, user, and system CPU elapsed-time reporting.
- TypeErasure dynamically dispatches addition and recovers the stored type.
- Stacktrace captures native frames using only the portable basic backend.
The complete prior regression suite remains enabled and executes sequentially,
one test per main-run-loop frame. Three-slice compile/link and SwiftPM packaging
checks pass, and the complete runtime suite passed on an arm64 iOS Simulator
and physical arm64 iOS device.
Why other components are not compiled
All Boost headers are packaged. An excluded component usually means there is
no object code to add because the library is header-only; this applies to much
of the tested suite, including Beast, Core, Describe, Histogram, LEAF, MP11,
Outcome, PFR, Signals2, StaticString, STLInterfaces, and Variant2. Coroutine2
is also available as a header-only API and is runtime-tested on the included
compiled Context backend; excluded means only that no Coroutine2 archive
exists to merge. Other
compiled libraries remain outside the combined archive because they require
optional third-party dependencies, desktop services, process/runtime behavior,
or dedicated iOS validation. Examples include Fiber, Iostreams, MPI, Process,
Python, and Wave. Legacy Signals was removed upstream,
Regex is header-only in this configuration, and the legacy compiled Math
C99/TR1 wrappers are unnecessary for the modern header APIs exercised here.
Device and Simulator validation
Validation date: 2026-08-19
Current target status:
- three-slice compile/link validation: passed;
- SwiftPM packaging validation: passed for arm64 and x86_64 Simulator;
- arm64 iOS Simulator runtime suite:
ALL TESTS PASSED; - physical arm64 iOS device runtime suite:
ALL TESTS PASSED.
Runtime coverage includes the complete prior regression suite plus Boost 1.81
URL parsing, Unordered flat containers, JSON described/optional conversions,
System result emplacement, and separate Log, Container PMR, Timer,
TypeErasure, and Stacktrace tests. Runtime tests retain sequential
one-per-frame execution and must end with a terminal report marker.
Boost.Fiber and deprecated Boost.Coroutine remain excluded pending their own
dedicated device and Simulator runtime validation.