Skip to content

Latest commit

 

History

History
41 lines (35 loc) · 1.74 KB

README.md

File metadata and controls

41 lines (35 loc) · 1.74 KB

Build for iOS

Below are instructions for building TDLib for iOS, watchOS, tvOS, and also macOS.

If you need only a macOS build, take a look at our build instructions for macOS.

For example of usage take a look at our Swift example.

To compile TDLib you will need to:

  • Install the latest Xcode command line tools, for example, via xcode-select --install.
  • Install other build dependencies, for example, using Homebrew:
brew install gperf cmake
  • If you don't want to build TDLib for macOS, you can pregenerate required source code files using CMake prepare_cross_compiling target:
cd <path to TDLib sources>
mkdir native-build
cd native-build
cmake ..
cmake --build . --target prepare_cross_compiling
  • Build OpenSSL for iOS, watchOS, tvOS and macOS:
cd <path to TDLib sources>/example/ios
./build-openssl.sh

Here we use scripts from Python Apple support, but any other OpenSSL builds should work too. Built libraries should be stored in third_party/openssl/<platform>, because the next script will rely on this location.

  • Build TDLib for iOS, watchOS, tvOS and macOS:
cd <path to TDLib sources>/example/ios
./build.sh

This may take a while, because TDLib will be built about 10 times. Resulting library for iOS will work on any architecture (armv7, armv7s, arm64) and even on a simulator. We use CMake/iOS.cmake toolchain, other toolchains may work too.

Built libraries will be store in tdjson directory.

Documentation for all available classes and methods can be found at https://core.telegram.org/tdlib/docs.