Swiftpack.co - Cogosense/iOSBoostFramework as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by Cogosense.
Cogosense/iOSBoostFramework v1.81.0
Boost library framework for iOS
⭐️ 14
🕓 2 weeks ago
iOS
.package(url: "https://github.com/Cogosense/iOSBoostFramework.git", from: "v1.81.0")

A Boost library framework for iOS

Carthage compatible SPM compatible

More information on the Boost home page

Distribution

The frameworks are distributed using the following methods:

  • As a binary XCFramework using Swift Package Manager
  • As a binary XCFramework using carthage
  • The iOSBoostFramework project can be included into an Xcode workspace

SPM is now the preferred method. Other methods will be deprecated in the next major release.

To add the swift package right click your project in the Xcode project explorer, select Add packages....

Platform Support

The Makefile in this project creates a iOS XCframework bundle that supports the following platforms:

  • iphoneos arm64
  • iphonesimulator x86_64
  • iphonesimulator arm64
  • macosx x86_64
  • macosx arm64

It is suitable for using on all iOS devices and simulators that support iOS 11 and greater. The macosx platform supprts v10 and greater.

Xcode Support

Xcode14 has removed support for 32bit compilation, so the armv7 device and i386 simulator architecture have been removed.

Note: The latest release of iOSBoostFramework (1.81.0) is the first release to support:

  • MacOS
  • M1 and M2 Apple Silicon processors.
  • iOS Simulator on M! and M2 CPUs.

Supported Libraries

The following boost libraries are built

  • test
  • thread
  • atomic
  • signals
  • filesystem
  • regex
  • program_options
  • system
  • date_time
  • serialization
  • exception
  • random
  • locale

The locale library has the POSIX option turned on and the libiconv library supplied with iOS is used.

Bitcode

The Makefile supports bitcode generation for release builds. Debug builds use a bitcode-marker. Bitcode generation is controlled by the build variable ENABLE_BITCODE and the mode is controlled by the build variable BITCODE_GENERATION_MODE.

SDK

The macosx, iphoneos and iphonesimulator SDKs are currently supported. Using the XCFramework, a single binary can be created that supports ARM devices and ARM and x86_64 simulators in a single framework bundle.

To build a device framework only:

make
make xcframework

To build a universal XCframework:

make SDK=macosx
make SDK=iphoneos
make SDK=iphonesimulator
make xcframework

Active Architectures

When used in conjunction with an Xcode workspace, only the active architecture is built. This is specified by Xcode using the ARCHS build variable.

Support for Swift Package Manager

The new XCframework is distributed as a binary framework. Use the Xcode packages feature to include it into a project. See Addingpackage dependencies to your app

Support for Xcode Workspaces

The project can be checked out into an Xcode workspace. Use Finder to drag the project file iOSBoostFramework/iOSBoostFramework.xcodeproj to the Xcode workspace.

Carthage

The Makefile was refactored to work better with the new Xcode10+ build system. The iOSBoostFramework.xcodeproj file was updated to include a shared Cocoa Touch Framework target boost. This is required by Carthage.

To add iOSBoostFramework to your project, first create a Cartfile in your project's root with the following contents:

github "Cogosense/iOSBoostFramework" >= 1.81.2

Then build with Carthage:

carthage update

More details on adding frameworks to a project can be found here.

Legacy Makefile (deprecated)

This has now been removed - the last version to support it was 1.73.0.

GitHub

link
Stars: 14
Last commit: 1 week ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

1.81.2
1 week ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics