This project neatly packs OpenSSL into a dynamic framework for iOS and macOS.
Current OpenSSL version used: 1.1.1l
You have a few different options:
Examples/are doing. Doing this means OpenSSL will be compiled alongside your project, including after every clean (building OpenSSL can take a while).
OpenSSL as a dependency:
dependencies: [ .package(url: "https://github.com/OuterCorner/OpenSSL", from: "1.1.1") ],
Associate the dependency with your target:
targets: [ .target(name: "App", dependencies: ["OpenSSL"]) ]
After importing the umbrella header:
You can simply start using OpenSSL APIs as usual.
Byte buffer; int rc = RAND_bytes(buffer, sizeof(buffer));
See example projects under
When including this framework in your project you'll have to set Allow Non-modular Includes In Framework Modules to YES.
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES
This is needed because the current version of OpenSSL's public headers reference system headers.
This project is licensed under the MIT License - see LICENSE.
Note the underlying OpenSSL library LICENSE still applies when using this project.
The build scripts for this project were based on:
|Last commit: 2 weeks ago|
• Enabled bitcode for both macOS and iOS. • Updated to OpenSSL 1.1.1l