Supported versions: 1.11.0, 1.10.0, 1.9.0 (use the appropriate tag or branch to choose a version)
This repo provides a universal script for building static LIBSSH2 library for use in iOS, visionOS, and Mac OS X applications. The actual library version is taken from https://github.com/libssh2/libssh2.git with the appropriate tag, e.g: 'libssh2-1.11.0'
- Xcode must be installed because xcodebuild is used to create xcframeworks.
xcode-select -p
must point to Xcode app developer directory (by default e.g. /Applications/Xcode.app/Contents/Developer). If it points to CommandLineTools directory you should execute:sudo xcode-select --reset
orsudo xcode-select -s /Applications/Xcode.app/Contents/Developer
- CMake must be installed because it's used as the build system for LIBSSH2.
- Cocoapods must be installed because it's used to get the OpenSSL backend.
- For the creation of visionOS related artifacts and their integration into the resulting xcframeworks, XROS.platform and XRSimulator.platform should be available in the folder: /Applications/Xcode.app/Contents/Developer/Platforms
- The library is built with OpenSSL backend. OpenSSL build scripts are taken from https://github.com/apotocki/openssl-iosx and run using the 'pod' utility.
- The library is built with ZLIB compression enabled, which is available through the system SDKs.
- Manually
# clone the repo
git clone https://github.com/apotocki/libssh2-iosx
# build libraries
cd libssh2-iosx
scripts/build.sh
# have fun, the result artifacts will be located in 'frameworks' folder.
# Then you can add the xcframework in your XCode project. The process is described, e.g., at https://www.simpleswiftguide.com/how-to-add-xcframework-to-xcode-project/
- Use cocoapods. Add the following lines into your project's Podfile:
use_frameworks!
pod 'libssh2-iosx'
# or optionally more precisely e.g.:
# pod 'libssh2-iosx', :git => 'https://github.com/apotocki/libssh2-iosx'
Then install new dependency:
pod install --verbose
Please check out my iOS application on the App Store:
PotoHEX HEX File Viewer & Editor | |
This application is designed to view and edit files at the byte or character level; calculate different hashes, encode/decode, and compress/decompress desired byte regions.
You can support my open-source development by trying the App.
Feedback is welcome!