Boost 1.88.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.88.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.88.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 v4 support.boost_graph— Compiled Graph algorithms.boost_locale— Compiled localization backends without optional ICU packaging.boost_random— Compiled random_device implementation.boost_system— Error-code support required by several compiled libraries.boost_thread— Portable threading primitives.boost_context— Architecture-specific fcontext implementation.boost_nowide— Compiled UTF-8 adapters.boost_json— Compiled parser and DOM support.boost_serialization— Compiled archive support.boost_url— Compiled URL parser.boost_container— Compiled polymorphic memory resources.boost_log— Compiled logging core and setup support.boost_stacktrace— Compiled portable basic backend only.boost_timer— Compiled CPU timer.boost_type_erasure— Compiled dynamic binding support.boost_cobalt— Compiled C++20 coroutine library carried forward from Boost 1.84.boost_charconv— Compiled locale-independent numeric conversion library required by Boost.MySQL.
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.88.0 was released on April 10, 2025. This package remains on C++20
with an iOS 12.0 deployment target.
New libraries
Boost.Hash2 is a header-only extensible hashing framework. Its headers are
packaged and receive deterministic hashing coverage without adding a static
archive.
Boost.MQTT5 is a header-only C++17 client built on Boost.Asio. Its headers are
packaged and receive deterministic offline protocol coverage. No broker, TLS
endpoint, or network access is required by the test suite.
Packaged libraries
The Boost 1.87 compiled set carries forward unchanged, including Charconv,
Cobalt, and the portable basic Stacktrace backend. Redis retains its
separate-compilation consumer model. Process v2 remains excluded pending
dedicated iOS process-spawning validation.
Validation scope
The complete earlier regression suite is retained. Release-specific coverage
includes Hash2 and MQTT5, plus the Boost.Asio std::span buffer overload fixed
in 1.88. Boost.SmartPtr's deprecated BOOST_SP_USE_SPINLOCK compatibility
define remains technical debt until its consumers are migrated.
The complete runtime suite passes on an arm64 iOS Simulator and physical arm64
iOS device.
Device and Simulator validation
Current target status:
- official source SHA-256 verification: passed;
- Boost 1.88 compatibility patch dry-run: passed;
- Boost.Hash2 and Boost.MQTT5 upstream build-model audits: passed (header-only
interface targets); - three-slice compile/link validation: passed (device arm64, Simulator arm64
and x86_64); - Charconv archive and three-slice symbol validation: passed;
- Apple-slice libquadmath absence check: passed;
- standalone XCFramework example validation: passed for all three slices;
- SwiftPM packaging validation: passed for arm64 and x86_64 Simulator;
- local CocoaPods consumer-project validation: passed;
- generic arm64/x86_64 Simulator and arm64 device Xcode builds: passed;
- arm64 iOS Simulator runtime suite: passed with
ALL TESTS PASSED, including
the Hash2 digest, MQTT5 offline codec, and Asiostd::spantests; - physical arm64 iOS device runtime suite: passed with
ALL TESTS PASSED, as
reported by the maintainer.
Only checks observed locally, reported by the maintainer, or proven in CI are
recorded as passed.